Installer Docker Engine sur CentOS
Pour commencer avec Docker Engine sur CentOS, assurez-vous de répondre aux prérequis, puis suivez les étapes d'installation.
Prérequis
Exigences du système d'exploitation
Pour installer Docker Engine, vous avez besoin d'une version maintenue d'une des versions CentOS suivantes :
- CentOS 9 (stream)
Le dépôt centos-extras
doit être activé. Ce dépôt est activé par défaut. Si vous l'avez désactivé, vous devez le réactiver.
Désinstaller les anciennes versions
Avant de pouvoir installer Docker Engine, vous devez désinstaller tous les paquets en conflit.
Votre distribution Linux peut fournir des paquets Docker non officiels, qui peuvent entrer en conflit avec les paquets officiels fournis par Docker. Vous devez désinstaller ces paquets avant d'installer la version officielle de Docker Engine.
$ sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
dnf
pourrait signaler que vous n'avez aucun de ces paquets installés.
Les images, conteneurs, volumes et réseaux stockés dans /var/lib/docker/
ne sont pas automatiquement supprimés lorsque vous désinstallez Docker.
Méthodes d'installation
Vous pouvez installer Docker Engine de différentes manières, selon vos besoins :
-
Vous pouvez configurer les dépôts de Docker et installer depuis ceux-ci, pour faciliter l'installation et les tâches de mise à niveau. C'est l'approche recommandée.
-
Vous pouvez télécharger le paquet RPM, l'installer manuellement, et gérer les mises à niveau complètement manuellement. C'est utile dans des situations telles que l'installation de Docker sur des systèmes isolés sans accès à internet.
-
Dans les environnements de test et de développement, vous pouvez utiliser des scripts de commodité automatisés pour installer Docker.
Installer en utilisant le dépôt rpm
Avant d'installer Docker Engine pour la première fois sur une nouvelle machine hôte, vous devez configurer le dépôt Docker. Ensuite, vous pouvez installer et mettre à jour Docker depuis le dépôt.
Configurer le dépôt
Installez le paquet dnf-plugins-core
(qui fournit les commandes pour gérer vos dépôts DNF) et configurez le dépôt.
$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Installer Docker Engine
-
Installez les paquets Docker.
Pour installer la dernière version, exécutez :
$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Si demandé d'accepter la clé GPG, vérifiez que l'empreinte correspond à
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
, et si c'est le cas, acceptez-la.Cette commande installe Docker, mais ne démarre pas Docker. Elle crée également un groupe
docker
, cependant, elle n'ajoute aucun utilisateur au groupe par défaut.Pour installer une version spécifique, commencez par lister les versions disponibles dans le dépôt :
$ dnf list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:28.2.2-1.el9 docker-ce-stable docker-ce.x86_64 3:28.1.0-1.el9 docker-ce-stable <...>
La liste retournée dépend des dépôts qui sont activés, et est spécifique à votre version de CentOS (indiquée par le suffixe
.el9
dans cet exemple).Installez une version spécifique par son nom de paquet pleinement qualifié, qui est le nom du paquet (
docker-ce
) plus la chaîne de version (2ème colonne), séparés par un trait d'union (-
). Par exemple,docker-ce-3:28.2.2-1.el9
.Remplacez
<VERSION_STRING>
par la version désirée puis exécutez la commande suivante pour installer :$ sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
Cette commande installe Docker, mais ne démarre pas Docker. Elle crée également un groupe
docker
, cependant, elle n'ajoute aucun utilisateur au groupe par défaut. -
Démarrez Docker Engine.
$ sudo systemctl enable --now docker
Ceci configure le service systemd Docker pour démarrer automatiquement quand vous démarrez votre système. Si vous ne voulez pas que Docker démarre automatiquement, utilisez
sudo systemctl start docker
à la place. -
Vérifiez que l'installation est réussie en exécutant l'image
hello-world
:$ sudo docker run hello-world
Cette commande télécharge une image de test et l'exécute dans un conteneur. Quand le conteneur s'exécute, il affiche un message de confirmation et se ferme.
Vous avez maintenant installé et démarré Docker Engine avec succès.
TipVous recevez des erreurs lorsque vous essayez d'exécuter sans root ?
Le groupe d'utilisateurs
docker
existe mais ne contient aucun utilisateur, c'est pourquoi vous devez utilisersudo
pour exécuter les commandes Docker. Continuez vers Post-installation Linux pour autoriser les utilisateurs non privilégiés à exécuter les commandes Docker et pour d'autres étapes de configuration facultatives.
Mettre à niveau Docker Engine
Pour mettre à niveau Docker Engine, suivez les instructions d'installation, en choisissant la nouvelle version que vous voulez installer.
Installer depuis un paquet
Si vous ne pouvez pas utiliser le dépôt rpm
de Docker pour installer Docker Engine, vous pouvez télécharger le fichier .rpm
pour votre version et l'installer manuellement. Vous devez télécharger un nouveau fichier à chaque fois que vous voulez mettre à niveau Docker Engine.
-
Allez à https://download.docker.com/linux/centos/ et choisissez votre version de CentOS. Puis parcourez
x86_64/stable/Packages/
et téléchargez le fichier.rpm
pour la version Docker que vous voulez installer. -
Installez Docker Engine, en changeant le chemin suivant vers le chemin où vous avez téléchargé le paquet Docker.
$ sudo dnf install /path/to/package.rpm
Docker est installé mais pas démarré. Le groupe
docker
est créé, mais aucun utilisateur n'est ajouté au groupe. -
Démarrez Docker Engine.
$ sudo systemctl enable --now docker
-
Vérifiez que l'installation est réussie en exécutant l'image
hello-world
:$ sudo docker run hello-world
Cette commande télécharge une image de test et l'exécute dans un conteneur. Quand le conteneur s'exécute, il affiche un message de confirmation et se ferme.
Vous avez maintenant installé et démarré Docker Engine avec succès.
TipVous recevez des erreurs lorsque vous essayez d'exécuter sans root ?
Le groupe d'utilisateurs
docker
existe mais ne contient aucun utilisateur, c'est pourquoi vous devez utilisersudo
pour exécuter les commandes Docker. Continuez vers Post-installation Linux pour autoriser les utilisateurs non privilégiés à exécuter les commandes Docker et pour d'autres étapes de configuration facultatives.
Mettre à niveau Docker Engine
Pour mettre à niveau Docker Engine, téléchargez le fichier de paquet plus récent et répétez la procédure d'installation, en utilisant dnf -y upgrade
au lieu de dnf -y install
, et pointez vers le nouveau fichier.
Installer à l'aide du script de commodité
Docker fournit un script de commodité à l'adresse
https://get.docker.com/ pour installer Docker dans
des environnements de développement de manière non interactive. Le script de commodité n'est pas
recommandé pour les environnements de production, mais il est utile pour créer un
script de provisionnement adapté à vos besoins. Référez-vous également aux
étapes d'installation à l'aide du dépôt pour en savoir plus
sur les étapes d'installation à l'aide du dépôt de paquets. Le code source
du script est open source, et vous pouvez le trouver dans le
dépôt docker-install
sur GitHub.
Examinez toujours les scripts téléchargés sur Internet avant de les exécuter localement. Avant l'installation, familiarisez-vous avec les risques et limitations potentiels du script de commodité :
- Le script nécessite les privilèges
root
ousudo
pour s'exécuter. - Le script tente de détecter votre distribution et votre version de Linux et de configurer votre système de gestion de paquets pour vous.
- Le script ne vous permet pas de personnaliser la plupart des paramètres d'installation.
- Le script installe les dépendances et les recommandations sans demander de confirmation. Cela peut installer un grand nombre de paquets, en fonction de la configuration actuelle de votre machine hôte.
- Par défaut, le script installe la dernière version stable de Docker, containerd et runc. Lorsque vous utilisez ce script pour provisionner une machine, cela peut entraîner des mises à niveau majeures inattendues de Docker. Testez toujours les mises à niveau dans un environnement de test avant de les déployer sur vos systèmes de production.
- Le script n'est pas conçu pour mettre à niveau une installation Docker existante. Lorsque vous utilisez le script pour mettre à jour une installation existante, les dépendances peuvent ne pas être mises à jour vers la version attendue, ce qui entraîne des versions obsolètes.
TipPrévisualisez les étapes du script avant de l'exécuter. Vous pouvez exécuter le script avec l'option
--dry-run
pour savoir quelles étapes le script exécutera lorsqu'il sera invoqué :$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh ./get-docker.sh --dry-run
Cet exemple télécharge le script depuis https://get.docker.com/ et l'exécute pour installer la dernière version stable de Docker sur Linux :
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>
Vous avez maintenant installé et démarré avec succès Docker Engine. Le service docker
démarre automatiquement sur les distributions basées sur Debian. Sur les distributions RPM
,
telles que CentOS, Fedora, RHEL ou SLES, vous devez le démarrer
manuellement à l'aide de la commande systemctl
ou service
appropriée. Comme l'indique le message,
les utilisateurs non-root ne peuvent pas exécuter les commandes Docker par défaut.
Utiliser Docker en tant qu'utilisateur non privilégié, ou l'installer en mode rootless ?
Le script d'installation nécessite les privilèges
root
ousudo
pour installer et utiliser Docker. Si vous souhaitez autoriser les utilisateurs non-root à accéder à Docker, consultez les étapes de post-installation pour Linux. Vous pouvez également installer Docker withoutroot
privileges, ou configuré pour fonctionner en mode rootless. Pour obtenir des instructions sur l'exécution de Docker en mode rootless, reportez-vous à exécuter le démon Docker en tant qu'utilisateur non-root (mode rootless).
Installer les pré-versions
Docker fournit également un script de commodité à l'adresse
https://test.docker.com/ pour installer les pré-versions de
Docker sur Linux. Ce script est identique au script de get.docker.com
, mais
configure votre gestionnaire de paquets pour utiliser le canal de test du dépôt de paquets Docker.
Le canal de test inclut à la fois les versions stables et les pré-versions (versions bêta,
versions candidates) de Docker. Utilisez ce script pour accéder en avant-première aux
nouvelles versions et pour les évaluer dans un environnement de test avant qu'elles ne soient
publiées en version stable.
Pour installer la dernière version de Docker sur Linux à partir du canal de test, exécutez :
$ curl -fsSL https://test.docker.com -o test-docker.sh
$ sudo sh test-docker.sh
Mettre à niveau Docker après avoir utilisé le script de commodité
Si vous avez installé Docker à l'aide du script de commodité, vous devez mettre à niveau Docker directement à l'aide de votre gestionnaire de paquets. Il n'y a aucun avantage à ré-exécuter le script de commodité. Le ré-exécuter peut causer des problèmes s'il tente de réinstaller des dépôts qui existent déjà sur la machine hôte.
Désinstaller Docker Engine
-
Désinstallez les paquets Docker Engine, CLI, containerd et Docker Compose :
$ sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
-
Les images, conteneurs, volumes ou fichiers de configuration personnalisés sur votre hôte ne sont pas automatiquement supprimés. Pour supprimer toutes les images, conteneurs et volumes :
$ sudo rm -rf /var/lib/docker $ sudo rm -rf /var/lib/containerd
Vous devez supprimer manuellement tous les fichiers de configuration modifiés.
Prochaines étapes
- Continuez vers Étapes post-installation pour Linux.