Dockerfile에서 VOLUME의 목적은 무엇입니까
Docker의 볼륨에 대해 더 깊이 이해하려고 노력하고 있으며 다음과 같은 차이점 / 사용 사례를 파악하는 데 어려움을 겪고 있습니다.
docker volume create
명령- 그만큼
docker run -v /path:/host_path
- 파일 의
VOLUME
항목Dockerfile
특히 VOLUME
항목을 -v
플래그 와 결합하면 어떤 일이 발생하는지 이해하지 못합니다 .
볼륨은 다음에 저장된 영구 데이터입니다. /var/lib/docker/volumes/...
Dockerfile에서 선언 할 수 있습니다. 즉, 컨테이너가 이미지에서 시작될 때마다 옵션 이 없더라도 볼륨이 생성됩니다 ( empty )
-v
.런타임에 선언 할 수 있습니다
docker run -v [host-dir:]container-dir
.
두 개 (VOLUME
+docker run -v
)를 결합하면 호스트 폴더의 내용을 컨테이너에 의해 유지되는 볼륨에 마운트 할 수 있습니다./var/lib/docker/volumes/...
docker volume create 는 Dockerfile을 정의하고 이미지를 빌드하고 컨테이너를 실행할 필요없이 볼륨을 생성 합니다. 다른 컨테이너가 해당 볼륨을 빠르게 마운트 할 수 있도록하는 데 사용됩니다.
볼륨에 일부 콘텐츠를 유지했지만 그 이후 컨테이너를 삭제 한 경우 (기본적으로 docker rm -v를 사용하지 않는 한 관련 볼륨을 삭제하지 않음) 해당 볼륨을 새 컨테이너에 다시 연결할 수 있습니다 (선언 같은 볼륨).
" Docker-컨테이너에 연결되지 않은 볼륨에 액세스하는 방법 "을 참조하십시오 .
docker volume create를 사용하면 명명 된 볼륨을 컨테이너에 쉽게 다시 연결할 수 있습니다.
docker volume create --name aname
docker run -v aname:/apath --name acontainer
...
# modify data in /apath
...
docker rm acontainer
# let's mount aname volume again
docker run -v aname:/apath --name acontainer
ls /apath
# you find your data back!
VOLUME
명령은 volumes-from
런타임 매개 변수 와 결합하면 흥미로워집니다 .
다음 Dockerfile이 주어지면 :
FROM busybox
VOLUME /myvolume
다음을 사용하여 이미지를 만듭니다.
docker build -t my-bb .
다음을 사용하여 컨테이너를 회전합니다.
docker run --rm -it --name my-first-bb my-bb
가장 먼저 눈에 띄는 것은이 이미지에라는 폴더가 있다는 것 myvolume
입니다. 그러나 컨테이너를 종료하면 볼륨도 제거되므로 특히 흥미롭지 않습니다.
이 폴더에 빈 파일을 생성하므로 컨테이너에서 다음을 실행합니다.
cd myvolume
touch hello.txt
이제 새 컨테이너를 회전하되 다음과 동일한 볼륨을 공유합니다 my-first-bb
.
docker run --rm -it --volumes-from my-first-bb --name my-second-bb my-bb
당신은 그 볼 my-second-bb
파일이 들어 hello.txt
있는 myvolume
폴더를.
두 컨테이너를 모두 종료하면 볼륨도 제거됩니다.
참고 URL : https://stackoverflow.com/questions/34809646/what-is-the-purpose-of-volume-in-dockerfile
'programing tip' 카테고리의 다른 글
오프라인 iOS 웹 앱 : 매니페스트를로드하지만 오프라인에서 작동하지 않습니다. (0) | 2020.10.25 |
---|---|
바퀴를 재발 명하지 않고 REST API 보안 (0) | 2020.10.25 |
Vim : 자동 완성을 더 스마트하게 만들기 (0) | 2020.10.25 |
Maven : 저장소 요소가 distributionManagement 내부의 POM에 지정되지 않았습니다. (0) | 2020.10.25 |
Google API 인텔 x86 아톰과 Google Play 인텔 x86 아톰 시스템 이미지의 차이점 (0) | 2020.10.25 |