Docker est un ensemble de plateformes en tant que produits de service qui utilisent la virtualisation au niveau du système d'exploitation pour fournir des logiciels dans des packages appelés conteneurs. Les conteneurs sont isolés les uns des autres et regroupent leurs propres logiciels, bibliothèques et fichiers de configuration ; ils peuvent communiquer entre eux par des canaux bien définis.
Dans ce guide, nous allons explorer différentes options pour installer docker dans Rocky Linux/Centos 8
Vérifiez également
- Comment installer et configurer docker dans OpenSUSE Leap 15
- Comment installer et configurer docker dans SUSE Linux Enterprise
- Comment installer et configurer docker dans Fedora 34/35
- Comment installer et utiliser Docker dans Ubuntu 20.04
- Comment installer et configurer Docker sur Debian 11
- Premiers pas avec Docker Compose avec des exemples
- Docker en tant qu'agent de build :exécutez les builds Jenkins sur Docker
Prérequis
Pour installer Docker Engine, vous devez disposer des éléments suivants
- Mise à jour du serveur basé sur Rocky Linux/Centos/RHEL 8
- Connexion Internet
- Connaissance de base du terminal Linux
- Les
centos-extras
le référentiel doit être activé. Il devrait être activé par défaut
Table des matières
- Mettre à jour les packages système
- Désinstaller les anciennes versions
- Installer Docker
- Démarrer et activer Docker
- Désinstaller Docker
Mise à jour des packages système
Avant de continuer, assurons-nous que notre système est à jour. Utilisez cette commande pour mettre à jour le système et tous les packages
$ sudo dnf -y update
Last metadata expiration check: 2:18:21 ago on Thu 14 Oct 2021 05:52:52 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
Désinstaller les anciennes versions
Si des versions plus anciennes de docker sont installées sur le système, désinstallez-les, ainsi que les dépendances associées.
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
Installer Docker
Il existe plusieurs façons d'installer docker dans Centos 8. Vous pouvez :
- Configurer des référentiels Docker. Ceci est recommandé car vous pouvez même mettre à jour Docker une fois configuré
- Télécharger rpm et installer manuellement
- Vous pouvez choisir des scripts de commodité automatisés pour installer Docker
Installer à l'aide du référentiel
Les packages Docker sont introuvables dans les référentiels Centos 8 par défaut. Vous devez configurer le référentiel Docker lors de l'installation de Docker dans un nouveau système.
Installez les yum-utils
package (qui fournit le yum-config-manager
utilitaire) et configurez le stable référentiel.
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Pour installer la dernière version de Docker Engine et conteneur :
sudo dnf install docker-ce docker-ce-cli containerd.io -y
Cette commande installe Docker, mais ne démarre pas Docker. Il crée également un docker
groupe, cependant, il n'ajoute aucun utilisateur au groupe par défaut.
Pour installer une version spécifique de Docker Engine, répertoriez les versions disponibles dans le référentiel, puis sélectionnez et installez :
un. Répertoriez et triez les versions disponibles dans votre référentiel. Cet exemple trie les résultats par numéro de version, du plus élevé au plus bas, et est tronqué :
$ sudo dnf list docker-ce --showduplicates | sort -r
Installed Packages
docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.9-3.el8 @docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable
Available Packages
La commande ci-dessus répertorie les packages en fonction des référentiels activés.
Installez une version spécifique par son nom de package complet, qui est le nom du package (docker-ce
) plus la chaîne de version (2e colonne) en commençant par le premier deux-points (:
), jusqu'au premier trait d'union, séparés par un trait d'union (-
). Par exemple3:20.10.7
.
sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
Installer à l'aide d'un package
Si pour une raison quelconque vous ne pouvez pas utiliser le référentiel de docker pour l'installation, vous pouvez télécharger un package rpm et l'installer manuellement.
Accédez à https://download.docker.com/linux/centos/ et choisissez votre version de CentOS. Accédez ensuite à x86_64/stable/Packages/
et téléchargez le .rpm
fichier pour la version de Docker que vous souhaitez installer
Installez Docker Engine, en remplaçant le chemin ci-dessous par le chemin où vous avez téléchargé le package Docker.
sudo yum install /path/to/package.rpm
Docker est installé mais pas démarré. Le docker
groupe est créé, mais aucun utilisateur n'est ajouté au groupe.
Installer à l'aide du script pratique
Docker fournit un script pratique sur get.docker.com pour installer Docker dans des environnements de développement rapidement et de manière non interactive. Le script pratique n'est pas recommandé pour les environnements de production, mais peut être utilisé comme exemple pour créer un script d'approvisionnement adapté à vos besoins.
Le script nécessite root
ou sudo
privilèges d'exécution. Le script tente de détecter votre distribution et votre version Linux et de configurer votre système de gestion de packages pour vous, et 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. Par défaut, le script installe la dernière version stable de Docker, containerd et runc.
Vous pouvez exécuter le script avec le DRY_RUN=1
option pour savoir quelles étapes le script exécutera lors de l'installation :
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sh ./get-docker.sh
Ceci télécharge le script depuis 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
Démarrer et activer docker
Sur RPM
distributions basées sur CentOS, Fedora, RHEL ou SLES, vous devez le démarrer manuellement à l'aide de la commande systemctl ou service appropriée. Les utilisateurs non root ne peuvent pas exécuter les commandes Docker par défaut.
Utilisez cette commande pour démarrer docker
sudo systemctl start docker
Confirmez que docker est en cours d'exécution en exécutant la commande status
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-10-15 03:58:33 UTC; 20s ago
Docs: https://docs.docker.com
Main PID: 1462739 (dockerd)
Tasks: 8
Memory: 127.2M
CGroup: /system.slice/docker.service
└─1462739 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Oct 15 03:58:33 test-db-server dockerd[1462739]: time="2021-10-15T03:58:33.127140137Z" level=error m>
Oct 15 03:58:33 test-db-server dockerd[1462739]: time="2021-10-15T03:58:33.152784201Z" level=warning>
Pour activer Docker au démarrage, utilisez cette commande :
sudo systemctl enable docker
Docker ne fonctionnera pas pour les utilisateurs non root ou sans sudo, vous obtiendrez l'erreur ci-dessous si vous essayez.
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Pour utiliser docker sans Sudo, ajoutez l'utilisateur actuel au groupe docker puis reconnectez-vous.
Ajoutez l'utilisateur au groupe docker :
$ sudo usermod -aG docker ${USER}
Reconnectez-vous ensuite en tant qu'utilisateur
$ sudo su - ${USER}
Vérifiez ensuite que vous faites maintenant partie de docker
$ id
uid=1000(centos) gid=1000(centos) groups=1000(centos),4(adm),190(systemd-journal),985(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Nous pouvons maintenant confirmer que tout fonctionne en émettant le docker run
commande pour le hello-world
image :
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
Désinstaller Docker
Si vous n'avez plus besoin de docker dans le système, utilisez ces commandes pour le désinstaller
sudo dnf remove docker-ce docker-ce-cli containerd.io
- 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.
Conclusion
Nous avons réussi à installer docker sur un système centos en utilisant le référentiel ou en téléchargeant un rpm puis en l'installant ou en utilisant un script pratique.