Volumes de contêiner do Docker sincronizados localmente

6

Estou tentando executar um Registro do Docker local com um armazenamento sincronizado com o meu Dropbox, para que possa ter acesso a VMs construídas sem precisar reconstruir as imagens se eu mudar para uma estação de trabalho diferente.

Eu lancei o registro com o seguinte:

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

Depois, envio uma imagem de exemplo que eu criei por meio de:

docker push localhost:5000/ubunutu

Agora, esperaria ver algum tipo de arquivo ou diretório colocado em /Users/andrew/Dropbox/Developer/Docker/Registry ; mas esse não é o caso:

$ 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 ..

Estou montando o volume de dados incorretamente ao iniciar o contêiner do Registro?

Editar

Aqui está a saída do docker push , por isso é bem-sucedido.

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}
    
por Andrew Ellis 25.09.2014 / 01:09

2 respostas

4

Se você estiver usando a imagem de registro oficial, o caminho no qual os volumes locais são armazenados por padrão é /tmp/registry . Assim, esse deve ser o seu ponto de montagem.

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

Isso é abordado na seção armazenamento persistente do arquivo principal.

    
por 25.09.2014 / 04:05
0

O problema foi o boot2docker. As pastas estavam sendo montadas da imagem do boot2docker para o contêiner. Não há maneira fácil de montar pastas na imagem do boot2docker que eu conheço.

Minha correção foi largar o boot2docker e abrir uma VM adicional do Vagrant CoreOS que executa um único container do Registro com uma pasta montada dessa maneira.

    
por 25.09.2014 / 20:09

Tags