Para alterar a propriedade do seu link simbólico, tente o seguinte comando e veja se ele resolve o problema. Um sudo pode ser necessário.
chown -H myuser:mygroup mysymbolic
Estou trabalhando em um servidor de teste no meu computador. Onde eu instalei o servidor Ubuntu, como uma VM em caixa virtual.
Versão 5.2.8.r121009
Especificações:
Eu criei duas pastas compartilhadas.
root@docker:/var/lib/docker# ls /media/ -l
totalt 4
drwxr-xr-x 2 root root 4096 mai 8 23:15 cdrom
drwxrwx--- 1 root vboxsf 0 mai 8 23:46 sf_docker-compose
drwxrwx--- 1 root vboxsf 0 mai 9 00:17 sf_docker-volumes
Quando faço
service docker stop && \
rm -fr /var/lib/docker/volumes && \
ln -s /media/sf_docker-volumes /var/lib/docker/volumes && \
service docker restart && \
docker ps
Eu recebo o seguinte erro
Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Is the docker daemon running?
Então eu reverti para os padrões:
service docker stop && \
rm -fr /var/lib/docker/volumes && \
service docker restart && \
docker ps
E tudo está funcionando novamente.
Então, minhas perguntas são, como posso corrigir os problemas de permissão que recebo usando um link simbólico para a pasta / var / lib / docker / volumes /. Tenho certeza de que o problema é que o proprietário do grupo do symlink é vboxsf e não root. mas eu não consigo mudar isso.
Para alterar a propriedade do seu link simbólico, tente o seguinte comando e veja se ele resolve o problema. Um sudo pode ser necessário.
chown -H myuser:mygroup mysymbolic
Depois de muita trilha e erro, eu descobri o que estou tentando fazer. não é possível. pelo menos não de maneira direta. O sistema de arquivos, esse uso de caixa virtual para as pastas compartilhadas, é somente leitura para o sistema, mas para os usuários é leitura-gravação. (porque eu não descobri.)
O que eu quero é uma experiência perfeita, na qual não preciso copiar e colar manualmente os arquivos, mas, na minha vida, não consigo descobrir como fazer isso.
A única coisa perto de uma solução de trabalho é editar meu arquivo fstab e adicionar a montagem lá.
docker /docker vboxsf defaults,uid=1000,gid=1000,umask=0022 0 0
crie um ascript que faça isso para mim
rm -fr /docker/* && \
mkdir /tmp/docker && \
cp -r /var/lib/docker/volumes/* /tmp/docker &&\
sudo chown -H bdbear:bdbear /tmp/docker && \
mv /tmp/docker/* /docker
Isso faz metade do trabalho para mim, então é okey. mas uma solução automática seria muito mais fácil.
Talvez eu implemente Inotify-tools para tornar isso totalmente automático. Mas, por enquanto, acabei de recortar Toda a idéia de trabalhar neste pequeno projeto. Eu tentei usar o Rsync , mas ele me deu um erro de protocolo, relacionado ao sistema de arquivos somente leitura.