Installation et configuration de Docker
Docker Engine s'installe depuis le dépôt officiel Docker. Éviter les packages des dépôts Debian (docker.io) : ils sont souvent en retard d'une version majeure. La configuration du daemon mérite attention, notamment les limites de logs et le driver de stockage.
Installation sur Debian 13
# Dépendances
apt-get update && apt-get install -y ca-certificates curl
# Clé GPG officielle Docker
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# Dépôt Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list
# Installation
apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Vérification
docker --version
docker compose versionPost-installation
# Ajouter l'utilisateur courant au groupe docker (évite sudo pour chaque commande)
usermod -aG docker $USER
newgrp docker # ou se reconnecter
# Activer et démarrer dockerd
systemctl enable --now docker
# Test
docker run hello-worldL'appartenance au groupe docker est équivalente à un accès root. Sur les systèmes de production, préférer le mode rootless ou restreindre l'accès socket.
Configuration du daemon (daemon.json)
// /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
],
"live-restore": true,
"userland-proxy": false
}systemctl restart dockerlog-opts: sans limite, les logs JSON grossissent indéfiniment en productionlive-restore: les containers continuent de tourner pendant un restart du daemonuserland-proxy: false améliore les performances réseau (utilise iptables direct)
Mode rootless
Docker rootless fait tourner le daemon et les containers sans privilèges root. Recommandé sur les workstations et les environnements multi-utilisateurs.
# Installation rootless (en tant qu'utilisateur normal)
dockerd-rootless-setuptool.sh install
# Démarrer
systemctl --user start docker
systemctl --user enable docker
# Configurer DOCKER_HOST
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock