Docker를 다시 시작하면 데이터가 손실되나요?

풀어 주다: 2020-03-26 14:11:00
원래의
13480명이 탐색했습니다.

Docker를 다시 시작하면 데이터가 손실되나요?

Docker를 사용하여 웹 애플리케이션이나 mysql 데이터베이스를 배포할 때 컨테이너가 다시 시작되면 컨테이너 실행 중에 생성된 로그나 데이터베이스 데이터가 삭제됩니다.

해결책:

Docker는 호스트 디스크 디렉터리를 마운트하여 데이터를 영구적으로 저장할 수 있습니다.

1. 컨테이너를 생성할 때 Docker Volume을 실행합니다

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 컨테이너를 생성합니다.

지정된 컨테이너의 이름은 test이며 ––name 옵션으로 지정됩니다.

Docker 볼륨은 ––volume(-v로 축약 가능) 옵션으로 지정됩니다. 호스트의 /tmp/source 디렉터리는 컨테이너의 /tmp/destination 디렉터리에 해당합니다.

2. Docker 볼륨 보기

docker Inspection 명령을 사용하여 Docker 컨테이너의 자세한 정보를 확인하세요.

dockerspec --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. 로컬 파일을 컨테이너에 동기화할 수 있습니다.

local/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에 동기화할 수 있습니다. /목적지 / 중간.

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

더 많은 관련 튜토리얼을 보려면 PHP 중국어 웹사이트를 주목하세요

docker tutorial#🎜🎜 # 열.

위 내용은 Docker를 다시 시작하면 데이터가 손실되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿