Estou executando alguns serviços dentro dos contêineres do Docker LXC no meu servidor e estou começando a realmente fazer coisas sérias com eles.
Uma coisa que não estou claro é como as permissões de usuário funcionam dentro e fora do contêiner. Se, por exemplo, estou executando o MySQL em um contêiner e tiver seu diretório de dados definido /data
como volume do Docker, como as permissões dentro e fora do contêiner afetam as políticas de acesso?
Obviamente, a idéia é executar o MySQL como seu próprio usuário no container (ie mysql:mysql
) e conceder direitos de leitura e gravação a esse diretório. Suponho que isso seria bastante simples, apenas chmod
no diretório etc. Mas como isso funciona fora do contêiner? Agora que tenho esse volume compartilhado do Docker chamado 'dados', como faço para gerenciar o controle de acesso a ele?
Estou procurando especificamente executar um usuário sem privilégios fora do contêiner do Docker, que acessará periodicamente o volume compartilhado do MySQL e fará backup dos dados.
Como posso configurar permissões, usuários e grupos para que um usuário específico no host possa ler / gravar arquivos e pastas no volume compartilhado do Docker?
root
A propósito, também pode executar contêineres sem privilégios . Importante é que seja definido um mapeamento para os usuários .
docker
suporte para isso), o contêiner LXC pode ser executado como usuário não privilegiado. Caso contrário, oroot
usuário dentro do contêiner poderá se romper se o contêiner estiver configurado inadequadamente. Ou seja, oroot
host estároot
no contêiner em um contêiner LXC privilegiado.