Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criação de Volumes através do Docker Toolbox no MacOs

Olá, professor. Estou utilizando o Docker através do Docker Toolbox em meu Mac. Percebi que há uma dificuldade em criar-se volumes para mysql através deles, pois o Docker acaba não tendo permissões de escrita no diretório que é configurado para persistir os dados. Vasculhando pela internet, entendi que o problema pode ser resolvido através desta situação exposta aqui: https://github.com/docker-library/mysql/issues/44#issuecomment-73318805

1 resposta
solução!

Legal cara, vou traduzir aqui para quem não manja de inglês. Marca o tópico como solucionado para futura referência.

O Boot2Docker cria um compartilhamento do VirtualBox de /Users no seu Mac para /Users no host do Linux. Isso é o que permite compartilhar qualquer pasta no diretório do Mac/Users com um contêiner docker, porque os caminhos são os mesmos.

O que realmente faz é montar automaticamente um compartilhamento do VirtualBox chamado Users para / Users (no Linux), e acontece que ele cria um compartilhamento chamado Usuários do seu Mac/Users.

O problema é que esses compartilhamentos são de propriedade do usuário do docker (uid 1000) no host Linux. Isso significa que qualquer contêiner que precise gravar em uma pasta compartilhada em seu Mac precisará executar seu processo como UID 1000.

Este é apenas um problema com o Boot2Docker porque ele usa o compartilhamento de caixa virtual, que altera o fluxo do compartilhamento para o usuário do docker e não é possível alterá-lo facilmente do Linux.

No Vagrant, geralmente resolvo isso alterando meu arquivo Vagrant para usar permissões diferentes para o compartilhamento de caixa virtual:

config.vm.synced_folder ".", "/ vagrant",: mount_options => ['dmode = 777, fmode = 666']

Talvez você pudesse fazer algo assim dentro da sua imagem do Boot2Docker, eu não olhei para ela. Eu acho que você faria essas mudanças em /etc/rc.d/automount-shares na VM Linux

Uma maneira de resolver isso foi simplesmente configurar meus contêineres para que eu pudesse configurá-los com o UID que eu queria que eles executassem seus processos, para que eu pudesse configurá-los para 1000. A desvantagem disso é que você basicamente precisa criar suas próprias imagens para tudo, já que a maioria dos contêineres que encontrei não permite que você faça isso.