Problemas de permissão negada com o Docker no Linux Ubuntu, Linux Mint ou MacOs são frequentemente associados a arquivos ou permissões de serviços do sistema.
Porquê erros de “permission denied” acontecem com contêineres docker ou ao rodar docker-compose
Um problema comum ao executar o docker-compose
pela primeira vez é a falta de permissão no arquivo docker.sock
:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Como resolver erros “permission denied” com docker-compose
Você precisa executar algumas etapas para entender se o serviço está em execução e, em seguida, configurar o usuário que executa os comandos do docker.
Verificando se o serviço Docker está rodando
Comece verificando o status do serviço docker:
sudo systemctl status docker
Caso não esteja ativo - como mostrado na imagem a seguir, use o comando start ou restart para iniciá-lo:
sudo systemctl start docker
Agora teste para ter certeza que o serviço está rodando:
sudo docker run hello-world
Adicionando a conta de usuário ao grupo docker
Agora é necessário adicionar o usuário que você está utilizando ao grupo que possui permissão para gravar nos arquivos privilegiados do Docker.
Leia também este artigo: Como criar grupos de usuários no Linux Mint, Debian e Ubuntu
Inicie criando o grupo docker - note que ele já pode existir no sistema, isto não é um problema:
sudo groupadd docker
Após garantir a criação do grupo, adicione seu usuário a ele
sudo usermod -aG docker $USER
Por fim reincie o sistema e execute novamente os comandos docker-compose que estavam gerando o erro “permission denied”.
Considerações finais
Erros de permissão negada ocorrem não apenas com os serviços do Docker em seu sistema, provavelmente você pode seguir estas etapas como uma receita para entender outros serviços do sistema com erros semelhantes.
Comentários