📌 Problema
Ao executar:
docker ps
Erro retornado:
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
🧠 Causa raiz
O Docker usa um socket Unix:
/var/run/docker.sock
Por padrão, esse socket pertence a:
- Usuário:
root - Grupo:
docker
Ou seja:
👉 Apenas usuários do grupo docker podem executar comandos sem sudo
✅ Solução padrão (correta)
1. Adicionar usuário ao grupo docker
sudo usermod -aG docker $USER
2. Atualizar sessão (IMPORTANTE ⚠️)
O erro mais comum é esse passo ser ignorado.
Opção A — Logout/login (recomendado)
exit
Depois reconecte via SSH.
Opção B — Aplicar na sessão atual
newgrp docker
3. Testar
docker ps
🔍 Verificação
Conferir grupos do usuário
groups
Saída esperada:
ubuntu docker
Conferir permissões do socket
ls -l /var/run/docker.sock
Esperado:
srw-rw---- 1 root docker ...
🛠️ Correções avançadas (se não funcionar)
🔹 Ajustar permissões manualmente
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
🔹 Reiniciar Docker
sudo systemctl restart docker
🔹 Validar serviço Docker
sudo systemctl status docker
🔹 Teste com sudo (diagnóstico)
sudo docker ps
✔️ Se funcionar → problema é apenas permissão
❌ Se não funcionar → problema no serviço Docker
⚠️ Boas práticas (ambiente profissional)
✔️ Evite usar sudo docker
- Melhor para automações
- Evita problemas com scripts e cron
✔️ Use aliases para produtividade
Adicione no ~/.bashrc:
alias dps="docker ps"
alias dpa="docker ps -a"
alias dlogs="docker logs -f"
alias dexec="docker exec -it"
Depois:
source ~/.bashrc
✔️ Segurança
Adicionar usuário ao grupo docker = acesso root indireto ⚠️
👉 Em produção:
- Use apenas usuários confiáveis
- Evite expor Docker API externamente
🚀 Automação (Script pronto)
Script de correção + otimização:
#!/bin/bashecho "🔧 Corrigindo permissões do Docker..."# Adiciona usuário ao grupo docker
sudo usermod -aG docker $USER# Ajusta permissões do socket
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock# Reinicia serviço
sudo systemctl restart docker# Aliases úteis
echo "⚙️ Configurando aliases..."cat <<EOL >> ~/.bashrc# Docker aliases
alias dps="docker ps"
alias dpa="docker ps -a"
alias dlogs="docker logs -f"
alias dexec="docker exec -it"
EOLecho "✅ Finalizado!"
echo "⚠️ Faça logout/login ou rode: newgrp docker"
🧪 Checklist final
- Usuário no grupo
docker - Sessão reiniciada ou
newgrp docker - Socket com grupo
docker - Docker rodando (
systemctl status docker) docker psfuncionando sem sudo







![Principais Comandos Docker para Iniciantes e Desenvolvedores [Guia Rápido 2025]](https://br.hobbytestlab.com/wp-content/uploads/2025/05/Comandos-Docker1.webp)
