Problema de permissão na pasta ./docker
[Concluído]
No linux a pasta "./docker e seus aquivos(mysql)" é gerada com as permissões de acesso do usuário root.
O meu docker foi configurado para executar os comandos como não root (usuário pessoal), mas mesmo assim a pasta "./docker" é criada com as permissões do root.
Tem como resolver esse problema do docker no linux ?
Obs: Eu uso Ubuntu 20.04
Olá, Igor!
Tudo bem?
Tem sim amigo.
Você tem algumas opções, nesse arg user no arquivo docker-compose você pode passar o usuário root, assim vai conseguir criar os arquivos com os privilégios necessários.
---
Você está rodando estes comandos com o usuário root?
Se sim, use outro usuário para fazer isso, usuário não root.
Estou usando os dados do meu usuário não-root (igor) no arquivo docker-compose.yml
Exemplo:
args:
user: igor
uid: 1001
Séria possível o docker criar a pasta "./docker" com as permissões do usuário igor ao invés do root ?
Obs: Em nenhum momento eu executei comandos do docker como root, mas a pasta "./docker" está com permissões do usuário root.
Está com erro de leitura nos arquivos do banco de dados?
O seu Docker, você consegue rodar ele sem sudo?
sudo docker-compose ...
Se for o caso, precisa trabalhar com o Docker sem ser sudo
(https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-pt -> tópico 2)
Eu já tinha feito esses passos na hora da instalação do docker. Eu nunca executei os comando do docker como root, Porém a pasta ".docker" está sendo criada com permissões de usuário root, e os arquivos do mysql está com a permissão "systemd Core Dumper".
Assim que eu tento executar o comando "docker-compose up -d" (Pela segunda vez) um erro é apresentado dizendo que não conseguiu ler os arquivos da pasta ". docker" (onde está o mysql) devido estar com permissões de root.
Eu resolvi este problema de outra forma. Eu criei um volume para o Mysql no fim do aquivo docker-compose.yml e usei o volume criado no lugar do "./docker".
Desta forma o dados do mysql deixaram de ser salvos na pasta do projeto e agora estão na pasta do próprio docker.
Quem quiser verificar o volume basta executar: docker volume ls
Local onde o docker salva os aquivos do volume no linux : /var/lib/docker/volumes/
Que bom que conseguiu resolver amigo, meus parabéns!
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!