Docker 컨테이너를 중지하면 데이터가 손실되지 않습니다. 도커 컨테이너가 중지되고 종료되면 해당 컨테이너의 데이터는 손실되지 않으며 컨테이너가 삭제된 경우에만 "docker ps -a"를 통해 볼 수 있습니다. 컨테이너 삭제.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
Docker 컨테이너를 중지하면 데이터가 손실되지 않습니다.
Docker 컨테이너가 중지되고 종료되면 종료 상태가 되며, 이는 가상 머신을 종료하는 것과 동일하므로 데이터 손실이 없습니다.
이때는 docker ps -a를 통해 볼 수 있고, docker start를 통해서도 시작할 수 있습니다. 컨테이너를 삭제해야만 데이터가 지워집니다.
docker rm 후에만 컨테이너를 삭제하면 데이터가 지워집니다.
컨테이너를 만든 다음 컨테이너를 삭제하면 데이터도 삭제됩니다.
데이터를 삭제하지 않고 컨테이너를 삭제하는 방법dockerrun-vhost_dir:containere_dir
이렇게 하면 문제가 해결될 수 있습니다!
추가 지식: 컨테이너를 다시 시작하면 컨테이너 실행 중에 생성된 로그 또는 데이터베이스 데이터가 지워집니다.
해결책:
Docker는 호스트 디스크 디렉터리를 마운트하여 데이터를 영구적으로 저장할 수 있습니다.
1. 컨테이너 생성 시 Docker 볼륨 실행
docker run 명령을 사용하여 Docker 컨테이너를 실행하고, ubuntu/nginx 이미지를 사용하고, 로컬 디렉터리 /tmp/source를 컨테이너 디렉터리 /tmp/destination
docker run -itd --volume /tmp/source:/tmp/destination --name test ubuntu/nginx bash
에 마운트합니다. ubuntu/를 기반으로 nginx 이미지는 Docker 컨테이너를 생성합니다.
––name 옵션으로 지정되는 테스트로 컨테이너 이름을 지정합니다.
Docker 볼륨은 ––volume(-v로 축약 가능) 옵션으로 지정됩니다. 호스트의 /tmp/source 디렉터리는 컨테이너의 /tmp/destination 디렉터리에 해당합니다.
2. Docker 볼륨 보기
docker Inspection 명령을 사용하여 Docker 컨테이너의 세부 정보를 확인하세요.
docker inspect --format=’{{json .Mounts}}'test | python -m json.tool[{“Destination”: “/tmp/destination”,“Mode”: “”,“Propagation”: “”,“RW”: true,“Source”: “/tmp/source”,“Type”: “bind”}]
필수 컨테이너 정보를 선택적으로 보려면 ––format 옵션을 사용하세요. .Mount는 컨테이너의 Docker 볼륨 정보입니다.
python -m json.tool은 출력 json 문자열의 형식을 지정하고 표시할 수 있습니다.
Source는 호스트의 디렉토리인 /tmp/source를 나타냅니다.
Destination은 컨테이너의 디렉터리(/tmp/destination)입니다.
3. 네이티브 파일을 컨테이너에 동기화할 수 있습니다
native/tmp/source 디렉터리에 새 hello.txt 파일을 만듭니다.
touch /tmp/source/hello.txtls /tmp/source/hello.txt
hello.txt 파일은 컨테이너/tmp/destination/디렉터리에 표시됩니다.
사용 docker exec 명령을 사용하면 컨테이너에서 명령을 실행할 수 있습니다.
docker exectest ls /tmp/destination/hello.txt
따라서 호스트의 /tmp/source/ 디렉터리에 대한 수정 사항은 컨테이너 디렉터리인 /tmp/destination/에 동기화될 수 있습니다.
4. 컨테이너 파일을 호스트에 동기화할 수 있습니다.
container/tmp/destination 디렉터리에 새 world.txt 파일을 만듭니다.
docker exec test touch /tmp/destination/world.txtdocker exec test ls /tmp/destination/hello.txtworld.txt
world.txt 파일은 호스트/tmp/source/ 디렉터리에 표시됩니다.
ls /tmp/source/hello.txt world.txt
추천 학습: "docker 비디오 튜토리얼"
위 내용은 Docker 컨테이너를 중지하면 데이터가 손실되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!