Docker 컨테이너 볼륨 로컬 동기화

Docker 컨테이너 볼륨 로컬 동기화

로컬 Docker 레지스트리를 실행하고 저장소를 Dropbox와 동기화하려고 합니다. 그러면 다른 워크스테이션으로 이동하면 이미지를 다시 빌드하지 않고도 구축된 VM에 액세스할 수 있습니다.

다음 명령을 사용하여 레지스트리를 시작했습니다.

docker run -d -p 5000:5000 --name td-registry -v /Users/andrew/Dropbox/Developer/Docker/Registry:/tmp/registry registry

그런 다음 다음을 통해 빌드한 샘플 이미지를 푸시합니다.

docker push localhost:5000/ubunutu

이제 어떤 종류의 파일이나 디렉토리가 있을 것으로 예상했지만 /Users/andrew/Dropbox/Developer/Docker/Registry그렇지 않습니다.

$ ls -lah ~/Dropbox/Developer/Docker/Registry
total 0
drwxr-xr-x  2 andrew  staff    68B Sep 24 14:39 .
drwxr-xr-x  4 andrew  staff   136B Sep 24 16:42 ..

레지스트리 컨테이너를 시작할 때 데이터 볼륨을 잘못 마운트했습니까?

편집하다

이는 의 출력 docker push이므로 성공적으로 푸시되었습니다.

The push refers to a repository [localhost:5000/ubuntu] (len: 1)
Sending image list
Pushing repository localhost:5000/ubuntu (1 tags)
511136ea3c5a: Image successfully pushed
bfb8b5a2ad34: Image successfully pushed
c1f3bdbd8355: Image successfully pushed
897578f527ae: Image successfully pushed
9387bcc9826e: Image successfully pushed
809ed259f845: Image successfully pushed
96864a7d2df3: Image successfully pushed
a037e7415015: Image successfully pushed
922d395cc25c: Image successfully pushed
f9317ffe9a11: Image successfully pushed
1a980360e853: Image successfully pushed
f759631e9b64: Image successfully pushed
194edb5b619b: Image successfully pushed
5cf96e6ae328: Image successfully pushed
b4d4b1e2e0b3: Image successfully pushed
921507f17768: Image successfully pushed
b9faffd3f579: Image successfully pushed
Pushing tag for rev [b9faffd3f579] on {http://localhost:5000/v1/repositories/ubuntu/tags/latest}

답변1

공식 레지스트리 이미지를 사용하는 경우 기본적으로 로컬 볼륨이 저장되는 경로는 입니다 /tmp/registry. 따라서 이것이 마운트 지점이 되어야 합니다.

docker run -d -p 5000:5000 --name td-registry -v /Users/andrew/Dropbox/Developer/Docker/Registry:/tmp/registry registry

이는 다음 항목에 포함됩니다.영구 저장기본 읽어보기 섹션.

답변2

문제는 boot2docker입니다. 이러한 폴더는 boot2docker 이미지에서 컨테이너에 설치됩니다. 내가 아는 한, boot2docker 이미지에 폴더를 마운트하는 쉬운 방법은 없습니다.

내 수정 사항은 boot2docker를 제거하고 마운트된 폴더가 있는 단일 레지스트리 컨테이너를 실행하는 추가 Vagrant CoreOS VM을 시작하는 것이었습니다.

관련 정보