Docker에서 볼륨은 "데이터 볼륨"을 의미하며 기본 조인트 파일 시스템을 우회하여 호스트에 일반 파일이나 디렉터리 형태로 존재함으로써 영구 데이터를 저장하고 컨테이너 간에 데이터를 공유할 수 있습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
Docker에서 볼륨은 무엇을 의미하나요?
일반적으로 데이터 볼륨으로 번역되는 Docker 볼륨은 영구 데이터를 저장하는 데 사용됩니다. 우리는 Docker 컨테이너에서 MySQL과 같은 데이터베이스를 실행할 때 일반적으로 Docker Volume을 통해 호스트에 데이터를 저장합니다. 이렇게 하면 MySQL 컨테이너가 삭제되더라도 데이터가 호스트에 계속 저장되므로 데이터 보안이 효과적으로 보장됩니다. .
1. Docker 볼륨 지정
docker run 명령을 사용하여 Docker 컨테이너 실행
docker run -itd --volume /tmp/data1:/tmp/data2 --name test ubuntu bash
Ubuntu 이미지를 기반으로 Docker 컨테이너를 생성했습니다.
컨테이너 이름은 test이며 –name 옵션으로 지정됩니다.
Docker 볼륨은 –volume 옵션으로 지정됩니다. 호스트의 /tmp/data1 디렉터리는 컨테이너의 /tmp/data2 디렉터리에 일대일로 대응됩니다.
2. Docker 볼륨 보기
docker Inspection 명령을 사용하여 Docker 컨테이너의 세부 정보를 확인하세요.
docker inspect --format= '{{json .Mounts}}' test | python -m json.tool [ { "Destination": "/tmp/data2", "Mode": "", "Propagation": "", "RW": true, "Source": "/tmp/data1", "Type": "bind" } ]
필수 컨테이너 정보를 선택적으로 보려면 –format 옵션을 사용하세요. .Mount는 컨테이너의 Docker 볼륨 정보입니다.
python -m json.tool은 출력 json 문자열의 형식을 지정하고 표시할 수 있습니다.
Source는 호스트의 디렉터리인 /tmp/data1을 나타냅니다.
대상은 컨테이너의 디렉터리인 /tmp/data2입니다.
3. 로컬 파일을 컨테이너에 동기화할 수 있습니다
local/tmp/data1 디렉터리에 새 hello.txt 파일을 만듭니다.
touch /tmp/data1/hello.txt ls /tmp/data1/ hello.txt
hello.txt 파일은 컨테이너/tmp/data2/에 표시됩니다. 디렉토리
docker exec 명령을 사용하면 컨테이너에서 명령을 실행할 수 있습니다.
docker exec test ls /tmp/data2/ hello.txt
로컬 디렉터리 /tmp/data1/의 수정 사항이 컨테이너 디렉터리 /tmp/data2/로 동기화될 수 있음을 알 수 있습니다.
4. 컨테이너 파일을 호스트에 동기화할 수 있습니다.
container/tmp/data2 디렉터리에 새 world.txt 파일을 만듭니다.
docker exec test touch /tmp/data2/world.txt docker exec test ls /tmp/data2/ hello.txt world.txt
world.txt 파일은 호스트/tmp/data1/ 디렉터리에 표시됩니다.
ls /tmp/data1/ hello.txt world.txt
컨테이너 디렉터리 /tmp/data2/에 대한 수정에서 호스트 디렉터리 /tmp/data1/에 동기화될 수 있음을 알 수 있습니다.
5. 결론
Docker 볼륨은 기본적으로 컨테이너와 호스트 간에 공유되는 디렉터리 또는 파일이므로 Docker 볼륨에 있는 데이터를 호스트와 컨테이너 간에 실시간으로 동기화할 수 있습니다. Virtualbox를 사용하여 가상 머신을 생성할 때 Docker Volume과 매우 유사한 공유 디렉터리를 구성할 수도 있습니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 Docker에서 볼륨은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!