2014-06-18 2 views

답변

24

도커 볼륨

당신은 당신의 컨테이너에 새 볼륨을 생성 할 도커 볼륨을 사용할 수 있으며 호스트의 폴더에 마운트 할 수 있습니다. 예 : 이 같은 컨테이너에 리눅스 호스트의 폴더 /var/log 마운트 수 :이 컨테이너 내부 /opt/my/app/log라는 폴더를 만들 것

docker run -d -v /var/log:/opt/my/app/log:rw some/image 

. 그리고이 폴더는 리눅스 호스트에 /var/log이 될 것입니다. 이를 사용하여 데이터를 유지하거나 컨테이너간에 데이터를 공유 할 수 있습니다. 당신이 당신의 용기에 호스트 디렉토리를 마운트하는 경우

도커 볼륨 컨테이너

지금, 당신은 어떻게 든 도커가 제공하는 좋은 절연을 파괴. 컨테이너의 데이터로 호스트를 "오염"시킵니다. 이를 방지하기 위해 데이터를 저장할 전용 컨테이너를 만들 수 있습니다. Docker는이 컨테이너를 "데이터 볼륨 컨테이너"라고합니다.

이 컨테이너는 컨테이너 사이에 공유하고자하는 볼륨, 예컨대 :

docker run -d -v /some/data/to/share --name MyDataContainer some/image 

이 컨테이너는 일부 응용 프로그램 (예를 들어, 데이터베이스)를 실행하고 /some/data/to/share라는 폴더가됩니다있을 것이다. 이 폴더를 이제 다른 컨테이너와 공유 할 수 있습니다.

docker run -d --volumes-from MyDataContainer some/image 

이 컨테이너에는 이전 명령과 동일한 볼륨이 표시됩니다. 호스트의 마운트 된 폴더를 공유 할 수 있으므로 여러 컨테이너간에 볼륨을 공유 할 수 있습니다. 그러나 호스트로 데이터를 오염시키지 않습니다. 모든 것이 여전히 격리 된 컨테이너에 캡슐화되어 있습니다.

내 자원

https://docs.docker.com/userguide/dockervolumes/

+0

덕분에 토마스, 그건 좋은 소리. 네트워크 프로토콜을 사용하여 데이터 볼륨 컨테이너와 다른 컨테이너간에 통신하고 있습니까? TCP, UDP, Unix 소켓 또는 다른 종류의 통신 프로토콜을 사용하고 있습니까? 이렇게하면 데이터 볼륨 컨테이너를 네트워크에 연결할 수 있습니까? –

+1

기존 볼륨 컨테이너를 표시하는 쉬운 도커 명령이 있습니까? 그리고 아마도 데이터 의존 구조? –

+0

볼륨 컨테이너는 다른 Docker 컨테이너와 거의 동일합니다. 어떤 컨테이너가 볼륨 컨테이너로 사용되고 있는지 알려주는 가장 좋은 방법은 적절하게 이름을 지정하는 것입니다. 그런 다음 'docker ps'명령을 사용하여 볼륨 컨테이너가 무엇인지 신속하게 알 수 있습니다. – freethebees

관련 문제