Ubuntu 20.04 + Docker: permissões de pasta corretas

Ubuntu 20.04 + Docker: permissões de pasta corretas

Quando eu estava configurando o Ubuntu 20.04, optei pela instalação do Docker também. Não fiz nenhuma alteração em suas configurações (ou seja, acredito que o Docker seja executado como root), além de criar um dockergrupo e adicionar meu usuário a ele.

Meus contêineres armazenam seus dados no formato /home/docker. Para poder fazer FTP na pasta e adicionar/editar alguns arquivos, mudei a propriedade de todas as subpastas para myuser:myuser. Como resultado, esta manhã o SQL não estava funcionando corretamente. Finalmente decidi que deveria restaurar a propriedade do root:root, o que me permitiu visualizar todos os bancos de dados e tabelas usando o phpMyAdmin.

No entanto, quando tento me conectar usando o DBeaver, continuo recebendo um erro parecido com este:

Não é possível ler o diretório './database1/' (errno: 13 "Permissão negada")

Alguém poderia me dizer a melhor maneira de definir as permissões da pasta docker e quais outras configurações devo alterar para que todos os contêineres funcionem corretamente e para que eu possa fazer FTP e editar arquivos.

Obrigado!

Responder1

Os contêineres precisam da propriedade dos diretórios do usuário usado no contêiner. Isso depende da imagem, cada criador pode escolher qual usuário deseja utilizar no container, já que o container é isolado.

Ao executar docker inspect containernamevocê pode encontrar isso na configuração:

"Config": {
         "User": "1001:1002",

Neste caso, a aplicação no container roda com o usuário 1001 e o grupo 1002. Para isso você precisaria rodar chown 1001:1002na pasta que você monta como um volume em seu container.

Se o valor Userestiver vazio, ele será executado como root. Nesse caso, as permissões não importarão.

informação relacionada