Docker Engine et Compose
Docker Engine (dockerd) gère images, conteneurs, réseaux et volumes. Le CLI docker lui envoie des commandes ; containerd est le runtime inférieur ; Buildx construit les images ; Compose décrit les applications en YAML. L’installation ne déploie aucune application.
command -v docker || true
docker --version || true
docker compose version || true
dpkg -l | grep -E 'docker|containerd' || true
Évitez de mélanger les sources. Préférez le dépôt apt officiel Docker à docker.io : installez la clé publique sous /etc/apt/keyrings/docker.asc, puis créez un fichier deb822 /etc/apt/sources.list.d/docker.sources avec le vrai nom de version Ubuntu, l’architecture de dpkg --print-architecture et Signed-By.
Après apt update, vérifiez les candidats avec apt-cache policy. Si le dépôt officiel ne prend pas en charge la version détectée, arrêtez-vous.
sudo apt-get -s install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
sudo apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
systemctl is-enabled docker
systemctl is-active docker
Après avoir contrôlé que la simulation ne supprime rien de critique :
sudo usermod -aG docker "$VPS_USER"
# nouvelle connexion
id
docker info
docker run --rm hello-world
N’utilisez jamais chmod 666 /var/run/docker.sock. Le groupe docker possède déjà des capacités proches de root. --rm supprime le conteneur de test, pas nécessairement l’image en cache.
Les images sont des modèles, les conteneurs des instances et les volumes ou chemins hôte conservent les données. Ne modifiez pas /var/lib/docker à la main et examinez chaque port publié, car Docker peut contourner UFW.