Erreurs

❌ Erreur Docker/Proxmox "Cannot connect to the Docker daemon" — Causes et Solutions

🐳 Docker / Proxmox

Le daemon Docker n'est pas démarré ou le socket est inaccessible

🐳 Docker/Proxmox 📋 6 causes 🔧 5 solutions
L'erreur Cannot connect to the Docker daemon at unix:///var/run/docker.sock signifie que la commande docker ne peut pas contacter le processus dockerd. Le daemon est soit arrêté, soit le socket est inaccessible pour l'utilisateur courant.

⚠️ Causes possibles

⚠️
Service Docker arrêté
Le service dockerd n'est pas démarré ou a planté au démarrage
⚠️
Utilisateur hors du groupe docker
L'utilisateur n'est pas dans le groupe 'docker' — accès au socket refusé
⚠️
Socket Docker manquant
Le fichier /var/run/docker.sock n'existe pas — Docker n'a jamais démarré
⚠️
Docker Desktop non lancé
Sur macOS/Windows, Docker Desktop n'est pas ouvert
⚠️
Variable DOCKER_HOST incorrecte
La variable d'environnement DOCKER_HOST pointe vers un mauvais socket
⚠️
Conflit avec rootless Docker
Deux installations Docker coexistent (rootful + rootless) en conflit

🔧 Solutions étape par étape

1

Vérifier et démarrer le service Docker

terminal
# Vérifier l'état du service
systemctl status docker

# Voir les logs du daemon
journalctl -u docker -n 50
journalctl -u docker --since "10 minutes ago"

# Démarrer Docker
systemctl start docker

# Activer le démarrage automatique
systemctl enable docker

# Vérifier que le socket existe
ls -la /var/run/docker.sock
2

Ajouter l'utilisateur au groupe docker

terminal
# Ajouter l'utilisateur courant au groupe docker
sudo usermod -aG docker $USER

# Appliquer sans se déconnecter
newgrp docker

# Vérifier les groupes de l'utilisateur
groups $USER
id $USER

# Vérifier les droits sur le socket
ls -la /var/run/docker.sock
# Doit afficher : srw-rw---- 1 root docker ...
# Le groupe 'docker' doit avoir les droits rw
3

Réparer le socket Docker

terminal
# Si le socket manque — redémarrer Docker
systemctl restart docker

# Voir les erreurs de démarrage
journalctl -u docker -n 100 | grep -i error

# Vérifier la configuration Docker
cat /etc/docker/daemon.json
# Valider le JSON
python3 -m json.tool /etc/docker/daemon.json

# Réinitialiser la config si corrompue
mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
systemctl restart docker
4

Corriger la variable DOCKER_HOST

terminal
# Voir la variable DOCKER_HOST actuelle
echo $DOCKER_HOST

# Si DOCKER_HOST est défini incorrectement
unset DOCKER_HOST

# Ou pointer vers le bon socket
export DOCKER_HOST=unix:///var/run/docker.sock

# Pour Docker rootless (socket utilisateur)
export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock

# Rendre permanent dans ~/.bashrc
echo 'unset DOCKER_HOST' >> ~/.bashrc
5

Réinstaller Docker si nécessaire

terminal
# Supprimer complètement Docker
apt remove --purge docker docker.io docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker /etc/docker

# Réinstaller depuis le dépôt officiel Docker
curl -fsSL https://get.docker.com | sh

# Ou méthode manuelle (Debian/Ubuntu)
apt install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
apt update && apt install docker-ce docker-ce-cli containerd.io

# Tester
docker run hello-world

🛡️ Comment éviter cette erreur

  • ✅ Toujours ajouter l'utilisateur au groupe docker après l'installation : usermod -aG docker $USER
  • ✅ Activer Docker au démarrage : systemctl enable docker — évite les surprises après reboot
  • ✅ Surveiller le service Docker avec Zabbix pour alerter si dockerd s'arrête en production
  • ✅ Ne jamais modifier manuellement /var/run/docker.sock — toujours passer par systemd pour redémarrer
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google