Olá, amigos nerds! Você já se deparou com o irritante erro "Permission Denied" ao tentar utilizar o Docker? Bem, se você está aqui, eu aposto que sim. Mas não se preocupe, vamos mandar esse erro para o espaço! 🚀
Cenário do problema:
O Docker está instalado no seu sistema, mas ao executar comandos como "docker run" ou "docker ps", você se depara com a seguinte mensagem de erro:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
Parece complicado, né? Mas não se preocupe, vou te mostrar a solução! 🧩
Inclusive pode encontrar a solução na documentação oficial: https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user
Aqui está um passo a passo simples e eficaz para resolver esse problema:
Primeiro, vamos verificar se o seu usuário faz parte do grupo "docker". Execute o seguinte comando:
$ grep docker /etc/group
Se o resultado mostrar o seu nome de usuário ao lado de "docker", você já está no grupo! Mas se não, não se desespere, pois temos uma solução!
docker:x:999:seu_usuario
Agora, vamos adicionar o seu usuário ao grupo "docker". Abra o terminal e digite o seguinte comando (substitua "seu_usuario" pelo seu nome de usuário):
$ sudo usermod -aG docker seu_usuario
Se não sabe qual é seu usuário no linux basta digitar:
$ whoami
Parabéns! Você acabou de dar um passo importante para resolver esse enigma!
Após executar o comando anterior, faça logout da sessão atual e faça login novamente para que as alterações entrem em vigor. Como alternativa, você pode executar:
$ newgrp docker
Este comando iniciará uma nova sessão de shell com a associação de grupo atualizada, mas é recomendável fazer logout e login novamente para garantir que as alterações se apliquem a todas as suas sessões de shell atuais e futuras.
Finalmente, verifique se o erro foi resolvido executando o comando "docker ps". Se você não encontrar mais o erro, comemore! 🎉
E aí está, problema resolvido!
Outra solução:
sudo chmod 666 /var/run/docker.sock
Por quê esta não é a melhor solução?
Segundo a documentação https://docs.docker.com/engine/security/#docker-daemon-attack-surface
A execução de contêineres (e aplicativos) com o Docker implica na execução do daemon do Docker. Este daemon requer rootprivilégios, a menos que você opte pelo modo sem raiz e, portanto, esteja ciente de alguns detalhes importantes.
Em primeiro lugar, apenas usuários confiáveis devem ter permissão para controlar seu daemon Docker . Essa é uma consequência direta de alguns recursos poderosos do Docker. Especificamente, o Docker permite que você compartilhe um diretório entre o host do Docker e um contêiner de convidado;
Top comments (0)