Aller au contenu
Runbook

Installer Docker sur Fedora / RHEL

Moteur de conteneurs pour empaqueter, distribuer et exécuter des applications de façon isolée.

Conteneurscontainerconteneurdevopscomposeoci

Installation

Dépôt DNF officiel · dnf
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Fedora 41+ utilise DNF5 : la sous-commande est config-manager addrepo --from-repofile. Sur les versions plus anciennes en DNF4, utilisez dnf config-manager --add-repo (ou dnf-3 config-manager --add-repo).

Vérifier l'installation

Vérifier
docker --version
sudo docker run --rm hello-world

Service

Démarrer
sudo systemctl start docker
Arrêter
sudo systemctl stop docker
Statut
sudo systemctl status docker
Redémarrer
sudo systemctl restart docker
Au démarrage
sudo systemctl enable --now docker

Fichiers importants

TypeCheminDescription
config/etc/docker/daemon.jsonConfiguration du démon (registres, pilote de logs, plage d'adresses). À créer si absent.
data/var/lib/dockerImages, conteneurs, volumes et couches du système de fichiers.
socket/var/run/docker.sockSocket Unix par lequel le client dialogue avec le démon.

Outils en ligne de commande

  • dockerClient en ligne de commande pour gérer images et conteneurs.
  • docker composeOrchestration multi-conteneurs (plugin docker-compose-plugin).

Désinstaller

Désinstaller les paquets
sudo dnf remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
Supprimer données et config
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker

Destructif : efface toutes les images, conteneurs et volumes.

À savoir

  • Ajoutez votre utilisateur au groupe docker pour éviter sudo : sudo usermod -aG docker $USER (puis reconnectez-vous). Cela équivaut à un accès root.
  • Au premier sudo dnf install, DNF vous demande d'accepter la clé GPG du dépôt Docker : vérifiez que l'empreinte affichée correspond bien à 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 avant d'accepter.
  • Fedora utilise SELinux : laissez-le activé, le moteur Docker officiel pose les bons contextes. En cas de souci de volume, montez avec l'option :Z.
  • N'appliquez jamais :Z ni :z à un répertoire système partagé (/usr, /etc, /var, $HOME entier…) : le re-étiquetage SELinux est récursif et destructeur, il peut casser le système. Réservez :Z/:z à un répertoire de données dédié.

Installation sur Fedora

Le moteur Docker officiel (docker-ce) ne fait pas partie des dépôts Fedora, qui proposent plutôt moby-engine et podman. Ajoutez donc le dépôt RPM de Docker avec config-manager. Fedora 41 et au-delà utilisent DNF5, où l'option --add-repo a été supprimée : la méthode principale est sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo. Sur les versions plus anciennes en DNF4, utilisez le fallback sudo dnf config-manager --add-repo … (ou sudo dnf-3 config-manager --add-repo …). Le méta-ensemble de paquets installe le moteur, le client, containerd, Buildx et le plugin Compose. Au premier sudo dnf install, acceptez la clé GPG du dépôt Docker seulement après avoir vérifié son empreinte (060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35).

Si Podman était installé, il peut fournir un alias docker : vérifiez avec which docker que la commande pointe bien vers /usr/bin/docker du paquet docker-ce.

Service, SELinux et configuration

Activez le service avec sudo systemctl enable --now docker. Fedora applique SELinux en mode enforcing : le moteur officiel est conçu pour fonctionner avec, ne le désactivez pas. Lorsqu'un conteneur doit écrire dans un volume hôte, ajoutez le suffixe :Z (ou :z pour un partage) au montage afin que SELinux étiquette correctement les fichiers, par exemple -v /chemin/hote:/data:Z. Attention : n'appliquez jamais :Z ni :z à un répertoire système partagé (/usr, /etc, /var, l'intégralité de $HOME…). Le re-étiquetage SELinux est récursif et destructeur, et peut rendre le système inutilisable ; réservez ces suffixes à un répertoire de données dédié.

La configuration du démon se place dans /etc/docker/daemon.json (à créer si absent), suivie d'un sudo systemctl restart docker. Les données résident dans /var/lib/docker ; surveillez l'espace disque et utilisez docker system prune pour récupérer la place occupée par les images et couches inutilisées.