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
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
# 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
# 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
# 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
# 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
# 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