Installer Docker et Compose sur CentOS 8 | RHEL 8
Dans ce guide, nous allons vous accompagner étape par étape pour installer Docker CE sur CentOS 8 | RHEL 8. Nous aborderons également comment installer Docker Compose sur RHEL 8/CentOS 8 Linux. Docker n'est pas officiellement pris en charge sur RHEL 8 car il a été remplacé par les outils Red Hat – buildah et podman. Vous pouvez en savoir plus sur les nouvelles fonctionnalités apparues dans la version de RHEL 8 Linux.
- Red Hat Enterprise Linux 8 (RHEL 8) Nouvelles fonctionnalités et avis
Mais que faire si vous utilisez Docker tous les jours et que vous ne pouvez pas passer immédiatement à buildah et podman ? Ne vous inquiétez pas, il existe un moyen d’installer Docker et Docker Compose sur RHEL 8/CentOS 8. Docker est un outil qui vous permet de créer, déployer et exécuter vos applications dans des conteneurs. Les conteneurs permettent à un développeur de regrouper une application avec ses dépendances et de l’expédier sous forme d’un seul package. Les conteneurs sont souvent utilisés dans les environnements de microservices.
Composants/Terminologies Docker
Il existe un certain nombre de termes spécifiques à Docker que nous devons clarifier avant de plonger dans l'installation et les exemples d'utilisation. Voici les terminologies couramment utilisées dans l'écosystème Docker.
- Démon Docker : C’est également appelé Docker Engine, c’est un processus en arrière-plan qui s’exécute sur le système hôte et est responsable de la création et de l’exécution des conteneurs.
- Docker Client : C'est un outil en ligne de commande utilisé par l'utilisateur pour interagir avec le démon Docker.
- Image Docker : Une image est un fichier immuable qui est essentiellement un instantané d’un conteneur. Une image Docker possède un système de fichiers et les dépendances applicatives nécessaires pour exécuter des applications.
- Conteneur Docker : Il s'agit d'une instance en cours d'exécution d'une image Docker avec une application et ses dépendances. Chaque conteneur a un identifiant de processus unique et est isolé des autres conteneurs. La seule chose que les conteneurs partagent est le noyau.
- Registre Docker : Il s'agit d'une application responsable de la gestion du stockage et de la distribution des images de conteneurs Docker. Il peut être privé ou public.
Installer Docker CE sur CentOS 8 | RHEL 8
Jusqu'à présent, nous avons couvert l'introduction à Docker et les terminologies. Nous devrions être prêts à installer Docker CE sur RHEL 8/CentOS 8. Nous commencerons par l'installation de Docker, puis de Docker Compose.
Il existe deux éditions de Docker disponibles.
- Édition Communautaire (CE) : idéale pour les développeurs individuels et les petites équipes souhaitant commencer avec Docker et expérimenter avec des applications basées sur des conteneurs.
- Édition Entreprise (EE) : Conçue pour le développement en entreprise et les équipes informatiques qui créent, déploient et exécutent des applications critiques pour l'activité en production à grande échelle.
L'édition Docker Enterprise nécessite une licence active pour être utilisée. Dans ce guide, nous allons installer Docker CE sur RHEL 8. Ajoutons le dépôt Docker avant de pouvoir l'installer.
### CentOS 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
### RHEL 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoCette commande téléchargera le fichier du dépôt Docker vers /etc/yum.repos.d/docker-ce.repo. Mettons à jour le cache de l'index RPM.
### CentOS 8 ###
$ sudo yum makecache
CentOS Linux 8 - AppStream 23 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 20 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Extras 9.2 kB/s | 1.5 kB 00:00
Docker CE Stable - x86_64 291 kB/s | 19 kB 00:00
DigitalOcean Droplet Agent 51 kB/s | 3.3 kB 00:00
Metadata cache created.
### RHEL 8 ###
$ sudo yum makecache
Updating Subscription Management repositories.
Docker CE Stable - x86_64 14 kB/s | 3.8 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 33 kB/s | 2.8 kB 00:00
Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.4 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 30 kB/s | 2.4 kB 00:00
Red Hat Satellite Tools 6.6 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.1 kB 00:00
Metadata cache created.
Vous devrez peut-être désinstaller toutes les anciennes versions de Docker ainsi que les dépendances associées. Désinstallez également Podman et les dépendances associées si elles sont déjà installées.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runcEnfin, installez Docker CE en exécutant la commande ci-dessous dans votre terminal.
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginSi vous rencontrez des problèmes de dépendances avec Podman, autorisez la suppression.
sudo yum install docker-ce --allowerasingAcceptez d'installer en appuyant sur la touche y de votre clavier :
...
Transaction Summary
================================================================================================================================================================================================
Install 12 Packages
Total download size: 93 M
Installed size: 389 M
Is this ok [y/N]: yImporter également la clé GPG.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 51 MB/s | 93 MB 00:01
Docker CE Stable - x86_64 44 kB/s | 1.6 kB 00:00
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <[email >"
Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
From : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: yDémarrez et activez le service Docker pour qu'il démarre au démarrage.
$ sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.L'état du service Docker devrait indiquer qu'il fonctionne.
$ systemctl status dockerLe groupe docker est créé, mais aucun utilisateur n'est ajouté au groupe. Ajoutez votre utilisateur à ce groupe pour exécuter des commandes docker sans sudo
$ sudo usermod -aG docker $USER
$ newgrp docker
$ id $USER
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),10(wheel),984(docker)
Déconnectez-vous et reconnectez-vous pour utiliser Docker sans sudo. La version de Docker installée peut être vérifiée avec :
docker versionTirer l'image Docker
La dernière étape consiste à tester votre installation en téléchargeant un conteneur Docker de test.
$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
8e402f1a9c57: Pull complete
Digest: sha256:644fcb1a676b5165371437feaa922943aaf7afcfa8bfee4472f6860aad1ef2a0
Status: Downloaded newer image for alpine:latest
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latestListe des images téléchargées.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 5cb3aa00f899 2 days ago 5.53MB
hello-world latest fce289e99eb9 2 months ago 1.84kBVérifiez que Docker CE fonctionne correctement en exécutant le conteneur Alpine à partir de l'image téléchargée.
$ docker run -it --rm alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/main]
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/community]
OK: 9754 distinct packages available
/ # exitBonjour World Container run
$ docker run -it --rm hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/Installer Docker Compose sur CentOS 8 | CentOS 8
Nous avons Docker installé et en fonctionnement, passons maintenant à Docker Compose. Docker Compose est un outil utilisé pour définir et exécuter des applications Docker multi-conteneurs.
Les services de l'application sont configurés à l'aide d'un fichier Compose. Contrairement à l'exécution de commandes Docker, une seule commande suffit pour créer et démarrer tous les services à partir de votre configuration. Docker Compose est un excellent outil pour les environnements de développement, de test et de préproduction, ainsi que pour les workflows CI.
Suivez notre guide séparé sur l'installation de la dernière version de Docker Compose sur Linux.
- Installer Docker Compose sur Linux
Afin de garder ce guide concis, nous n'entrerons pas dans l'utilisation de Docker Compose. Je vous recommande de consulter la documentation officielle de Docker et celle de Docker Compose pour en savoir plus.
Installer l'interface Docker – Optionnel
Si vous avez besoin d'une interface de gestion Docker qui vous permette de gérer facilement vos différents hôtes et conteneurs Docker, essayez Portainer. Il est facile à installer et à utiliser.
- Comment installer Portainer, le gestionnaire d'interface Docker
Surveillance des conteneurs Docker
La surveillance des conteneurs Docker peut être effectuée en utilisant des outils de surveillance tels que Netdata, Ctop, Prometheus et Grafana. Les guides ci-dessous devraient être utiles.
- Ctop – Commande top pour les métriques des conteneurs
- Comment installer Netdata sur RHEL 8/CentOS 8
- Installer le registre Docker Harbor sur Linux