Comment installer Docker sur Fedora 40/39 Linux

Si vous êtes un développeur ou un administrateur système cherchant à améliorer l'évolutivité et la portabilité de votre application, Docker est une solution remarquable. Cette plate-forme excelle dans l'empaquetage, la distribution et l'exécution d'applications dans des conteneurs isolés, garantissant ainsi la cohérence dans différents environnements.

Docker (Community Edition) sur Fedora Linux apporte plusieurs avantages :

  • Isolement: Les conteneurs Docker fonctionnent dans des environnements isolés, garantissant que chaque application s'exécute avec ses dépendances, améliorant ainsi la sécurité et réduisant les conflits.
  • Efficacité des ressources: Les conteneurs partagent le noyau du système hôte mais s'exécutent dans des espaces utilisateur isolés, garantissant une utilisation efficace des ressources système.
  • Déploiement rapide: Docker garantit des déploiements rapides et cohérents, car les conteneurs incluent tout le nécessaire pour exécuter une application.
  • Facilité d'utilisation: Les commandes simples de Docker et sa documentation complète le rendent convivial, même pour ceux qui découvrent la conteneurisation.
  • Soutien communautaire: Docker est un projet open source populaire avec une vaste communauté qui fournit un support et des ressources suffisants.

À la fin de ce guide, Docker CE sera opérationnel sur votre système Fedora, prêt à conteneuriser et déployer facilement vos applications. Nous aborderons les étapes d'installation, la configuration et les commandes Docker de base pour vous aider à démarrer.

Étapes de pré-installation de Docker

Étape 1 : Supprimer l’installation précédente de Docker

Avant d'installer Docker sur Fedora, il est crucial de supprimer toutes les anciennes versions de Docker pour éviter les conflits et garantir une installation fluide. Exécutez la commande suivante pour supprimer de votre système toutes les versions de Docker précédemment installées :

sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

Si aucun de ces packages n'est installé, DNF vous informera qu'il n'y a rien à supprimer. Le contenu de /var/lib/docker/, y compris les images, les conteneurs, les volumes et les réseaux, seront préservés. Le package Docker Engine s'appelle désormais docker-ce.

Étape 2 : Actualiser les packages système Fedora

Avant de continuer, effectuez une actualisation rapide de l'index du package dnf et procédez à la mise à niveau de votre système si vous avez des mises à jour en attente :

sudo dnf upgrade --refresh

Importer le référentiel Docker RPM

Étape 1 : Installer les packages requis initiaux

Cette étape consiste à importer le Docker RPM pour installer la dernière version. Commencez par vous assurer que dnf-plugins-core Le package (qui fournit des commandes pour gérer vos référentiels DNF) est installé avec la commande suivante :

sudo dnf install dnf-plugins-core

Bien que ce package doive être installé par défaut, l’exécution de la commande est considérée comme la meilleure pratique.

Étape 2 : Importer le RPM Docker CE

Ensuite, exécutez la commande suivante pour importer le référentiel Docker Community Edition :

sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

En cas de succès, vous devriez voir le résultat suivant :

Adding repo from: https://download.docker.com/linux/fedora/docker-ce.repo

Finaliser l'installation de Docker

Étape 1 : procéder à l’installation de Docker CE via la commande DNF

Une fois le RPM Docker Fedora importé, lancez l'installation de Docker CE en exécutant la commande suivante :

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Cette commande installe Docker avec plusieurs plugins supplémentaires.

Vous devriez voir un exemple de sortie si la commande fonctionne correctement :

Étape 2 : Travailler avec les commandes du service Docker

Par défaut, le service Docker n'est pas activé ; exécutez la commande pour démarrer le service Docker immédiatement :

systemctl start docker.service

Pour démarrer le service immédiatement et l'activer au redémarrage du système, utilisez la commande suivante :

systemctl enable docker.service --now

Étape 3 : Confirmer que Docker fonctionne

Ensuite, exécutez la commande suivante pour vérifier que Docker fonctionne correctement :

sudo docker run hello-world

Cette commande télécharge une image de test et l'exécute dans un conteneur. Lors de l'exécution, le conteneur imprime un message de confirmation avant de quitter.

Exemple d'utilisation de hello-world sur Docker avec Fedora :

Gardez à l'esprit que le docker La commande nécessite les privilèges root pour s’exécuter. Cependant, configurer Docker pour qu'il s'exécute en tant qu'utilisateur non root offre une méthode plus sécurisée pour gérer les conteneurs et les images.

Si vous rencontrez des problèmes lorsque vous travaillez avec des images Docker, essayez de redémarrer votre système, car cela peut parfois résoudre des problèmes liés à la génération de chemin.

reboot

Gérer Docker avec les commandes systemd

Systemd est un gestionnaire de systèmes et de services qui simplifie la gestion des processus et services sur Fedora. Lors de l'installation de Docker sur Fedora, une unité systemd est créée pour gérer le service Docker. Cette unité peut être contrôlée à l'aide de diverses commandes systemd, offrant un moyen pratique de démarrer, d'arrêter et de gérer les conteneurs et les images Docker.

Voici quelques commandes systemd couramment utilisées pour gérer Docker sur Fedora :

Démarrez le service Docker, en lui permettant de s'exécuter au démarrage du système :

systemctl start docker.service

Arrêtez le service Docker et empêchez-le de s'exécuter au démarrage du système :

systemctl stop docker.service

Redémarrez le service Docker :

systemctl restart docker.service

Affichez l'état du service Docker et s'il est actuellement en cours d'exécution :

systemctl status docker.service

Permet au service Docker de démarrer au démarrage du système :

systemctl enable docker.service

Désactive le démarrage du service Docker au démarrage du système :

systemctl disable docker.service

Configuration de Docker

Gérer Docker en tant qu'utilisateur non root

Utiliser Docker en tant qu'utilisateur root peut exposer votre système à des risques de sécurité et à des modifications involontaires. Il est conseillé de gérer Docker en tant qu'utilisateur non root.

Pour créer un nouvel utilisateur et l'ajouter au groupe Docker, exécutez les commandes suivantes :

sudo useradd -m dockeruser
sudo usermod -aG docker dockeruser

De plus, vous pouvez ajouter votre nom d'utilisateur actuel au groupe Docker. Par exemple, si votre nom d'utilisateur est « joshua », exécutez la commande suivante :

sudo usermod -aG docker joshua

Ces commandes créent un nouvel utilisateur appelé « dockeruser » et l'ajoutent au groupe Docker. Après avoir ajouté l'utilisateur au groupe Docker, déconnectez-vous et reconnectez-vous pour appliquer les modifications.

N'oubliez pas que vous devrez peut-être redémarrer si la déconnexion ne fonctionne pas.

Pour confirmer que l'utilisateur peut exécuter les commandes Docker, utilisez cette commande :

docker ps

Cette commande affichera une liste de conteneurs en cours d'exécution si Docker est correctement installé.

Configurer le pilote de journalisation par défaut

Les journaux Docker utilisent le format de fichier JSON par défaut. Cependant, vous pouvez configurer le pilote de journalisation par défaut pour utiliser un format différent ou envoyer les journaux à un système de gestion des journaux distant.

Pour modifier le pilote de journalisation par défaut, créez un nouveau fichier appelé « daemon.json » dans le répertoire « /etc/docker/ » à l'aide d'un éditeur de texte tel que nano. Par exemple, exécutez la commande suivante :

sudo nano /etc/docker/daemon.json

Une fois le fichier ouvert, ajoutez le contenu suivant :

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "tcp://logs.example.com:514",
    "syslog-facility": "daemon",
    "tag": "{{.Name}}"
  }
}

Dans cet exemple, Docker est configuré pour utiliser le pilote Syslog et envoyer les journaux à un serveur Syslog distant. Remplacez « logs.example.com » par l'adresse de votre serveur syslog.

Après avoir créé le fichier, redémarrez le démon Docker pour vous assurer que les modifications apportées au pilote de journalisation prennent effet :

sudo systemctl restart docker.service

N'oubliez pas que si vous modifiez le fichier «daemon.json», redémarrez à nouveau le démon Docker pour recharger les modifications.

Utilisation de la commande Docker

Familiarité avec le docker La commande est essentielle lorsque vous travaillez avec Docker, car elle gère les conteneurs, les images, les réseaux et les volumes Docker. Certains des plus couramment utilisés docker les commandes incluent :

CommandeDescription
exécution du dockerExécutez un nouveau conteneur à partir d'une image.
docker psRépertoriez tous les conteneurs en cours d’exécution.
Images : dockerRépertoriez toutes les images disponibles.
construction de dockerCréez une nouvelle image à partir d'un Dockerfile.
arrêt du dockerArrêtez un conteneur en cours d'exécution.
Docker RMRetirez un conteneur.
docker rmiSupprimer une image.
réseau DockerGérer les réseaux Docker.
volume du menu fixeGérez les volumes Docker.

exécution du docker

Le docker run La commande exécute un nouveau conteneur à partir d’une image. Par exemple, pour exécuter un conteneur à partir de l'image Ubuntu, utilisez cette commande :

docker run -it ubuntu:latest /bin/bash

Cette commande démarre un nouveau conteneur à partir de l'image Ubuntu et ouvre un shell à l'intérieur du conteneur.

docker ps

Le docker ps La commande répertorie tous les conteneurs en cours d’exécution. Cette commande fournit des informations sur chaque conteneur, telles que l'ID du conteneur, le nom de l'image et l'état.

docker ps

Cette commande affichera une liste de tous les conteneurs en cours d'exécution.

Images : docker

Le docker images La commande répertorie toutes les images disponibles. Cette commande fournit des informations sur chaque image, telles que l'ID de l'image, le référentiel et la balise.

docker images

Cette commande affichera une liste de toutes les images disponibles.

construction de docker

Le docker build La commande est utilisée pour créer une nouvelle image à partir d’un Dockerfile. Un Dockerfile est un script contenant des instructions pour créer une image.

docker build -t myimage:latest .

Cette commande construira une nouvelle image appelée « monimage » en utilisant le Dockerfile situé dans le répertoire courant.

arrêt du docker

Le docker stop La commande arrête un conteneur en cours d’exécution. Par exemple, pour arrêter un conteneur avec l'ID « abcdefg », utilisez cette commande :

docker stop abcdefg

Cette commande arrêtera le conteneur avec l'ID « abcdefg ».

Docker RM

Le docker rm La commande supprime un conteneur. Par exemple, pour supprimer un conteneur avec l'ID « abcdefg », utilisez cette commande :

docker rm abcdefg

Cette commande supprimera le conteneur avec l'ID « abcdefg ».

docker rmi

Le docker rmi La commande supprime une image. Par exemple, pour supprimer une image portant l'ID « 1234567 », utilisez cette commande :

docker rmi 1234567

Cette commande supprimera l'image portant l'ID « 1234567 ».

réseau Docker

Le docker network La commande gère les réseaux Docker. Cette commande fournit des options pour créer, répertorier et supprimer des réseaux.

docker network create mynetwork

Cette commande créera un nouveau réseau appelé « monréseau ».

volume du menu fixe

Le docker volume La commande gère les volumes Docker. Cette commande fournit des options pour créer, répertorier et supprimer des volumes.

docker volume create myvolume

Cette commande créera un nouveau volume appelé « monvolume ».

Exécuter un conteneur Docker

Pour exécuter un conteneur à partir d'une image, utilisez le docker run commande suivie du nom de l’image. Par exemple, pour exécuter un conteneur à partir de l'image Ubuntu, utilisez cette commande :

docker run ubuntu

Cette commande téléchargera l'image Ubuntu et exécutera un conteneur à partir de celle-ci. Vous pouvez également spécifier la version de l'image en ajoutant une balise. Par exemple, pour exécuter un conteneur à partir de l'image Ubuntu version 22.04, utilisez cette commande :

docker run ubuntu:22.04

Cette commande téléchargera et exécutera un conteneur à partir de l'image Ubuntu version 22.04.

Lorsque vous exécutez un conteneur, Docker crée une nouvelle instance de l'image en tant que conteneur. Chaque conteneur est isolé des autres et possède son propre système de fichiers, son propre réseau et ses propres ressources.

Une fois le conteneur exécuté, vous pouvez interagir avec lui via un shell ou une invite de commande. Par exemple, pour ouvrir un shell à l'intérieur du conteneur, utilisez la commande suivante :

docker run -it ubuntu /bin/bash

Gestion des conteneurs Docker

Pour gérer les conteneurs Docker, utilisez le docker ps commande pour lister tous les conteneurs en cours d’exécution. Par exemple, pour répertorier tous les conteneurs en cours d'exécution sur votre système, utilisez la commande suivante :

docker ps

Cette commande affichera une liste de tous les conteneurs en cours d'exécution, y compris leur ID de conteneur, le nom de l'image et l'état.

Pour arrêter un conteneur en cours d'exécution, utilisez le docker stop commande suivie de l’ID ou du nom du conteneur. Par exemple, pour arrêter un conteneur avec l'ID « abcdefg », utilisez la commande suivante :

docker stop abcdefg

Cette commande arrêtera le conteneur avec l'ID « abcdefg ».

Pour retirer un conteneur, utilisez le docker rm commande suivie de l’ID ou du nom du conteneur. Par exemple, pour supprimer un conteneur portant l'ID « abcdefg », utilisez la commande suivante :

docker rm abcdefg

Cette commande supprimera le conteneur avec l'ID « abcdefg ».

Lorsque vous supprimez un conteneur, toutes les modifications apportées au conteneur seront perdues. Si vous souhaitez enregistrer les modifications apportées à un conteneur en tant que nouvelle image, vous pouvez utiliser le docker commit commande pour créer une nouvelle image à partir du conteneur.

Valider les modifications d'un conteneur dans une image Docker

Lorsque vous travaillez avec des conteneurs Docker, il est courant d'apporter des modifications au conteneur que vous souhaitez enregistrer en tant que nouvelle image. Pour valider les modifications d'un conteneur dans une image Docker, vous pouvez utiliser le docker commit commande.

Tout d’abord, démarrez un nouveau conteneur à partir de l’image de base et apportez toutes les modifications nécessaires au conteneur. Par exemple, pour démarrer un nouveau conteneur à partir de l'image Ubuntu et ouvrir un shell à l'intérieur du conteneur, utilisez la commande suivante :

docker run -it --name mycontainer ubuntu:latest /bin/bash

Cette commande démarrera un nouveau conteneur à partir de l'image Ubuntu et ouvrira un shell à l'intérieur du conteneur. Vous pouvez apporter toutes les modifications nécessaires au conteneur, telles que l'installation d'un nouveau logiciel ou la modification des fichiers de configuration.

Une fois que vous avez effectué les modifications nécessaires, vous pouvez utiliser le docker commit commande pour créer une nouvelle image à partir du conteneur. Par exemple, pour créer une nouvelle image appelée « monimage » avec les modifications apportées dans le conteneur « monconteneur », utilisez la commande suivante :

docker commit mycontainer myimage:latest

Cette commande créera une nouvelle image appelée « monimage » avec les modifications apportées dans le conteneur « monconteneur ». Vous pouvez désormais utiliser cette nouvelle image pour créer et exécuter de nouveaux conteneurs avec le logiciel ou la configuration mis à jour.

Il est important de noter que le docker commit La commande enregistre uniquement les modifications apportées au système de fichiers du conteneur et n'enregistre aucune modification apportée au réseau ou au stockage du conteneur. Si vous devez enregistrer les modifications apportées à ces zones, utilisez d'autres commandes Docker telles que docker network ou docker volume.

Conclusion

L'installation de Docker sur Fedora 40 ou 39 Linux peut améliorer considérablement votre expérience de gestion de conteneurs en fournissant une plate-forme fiable et efficace pour les applications conteneurisées. En suivant les étapes décrites dans ce guide, vous pouvez configurer en toute transparence Docker sur votre système Fedora Linux, vous permettant ainsi de créer, gérer et déployer rapidement des conteneurs.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire