GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Installation et utilisation de Docker sur CentOS et Fedora

Docker est un outil qui vous permet de créer, déployer et gérer des packages légers et autonomes appelés conteneurs . Ces conteneurs contiennent le code, les bibliothèques, l'environnement d'exécution, les paramètres système et les dépendances nécessaires pour exécuter une application.

Ce guide couvre l'installation de Docker Engine sur diverses distributions Linux à l'aide de YUM ou DNF gestionnaire de packages, y compris CentOS et Fedora, ainsi que l'obtention et l'exécution d'images Docker.

Avant de commencer

  1. Assurez-vous que vous disposez d'un accès en ligne de commande à un serveur Linux exécutant une distribution Linux prise en charge. Si ce n'est pas le cas, suivez les guides Mise en route et Configuration et sécurisation d'une instance de calcul pour créer un nouveau Linode.

    Remarque Ce guide est écrit pour un utilisateur non root. Les commandes qui nécessitent des privilèges élevés sont préfixées par sudo . Si vous n'êtes pas familier avec le sudo commande, consultez le guide Utilisateurs et groupes.
  2. Consultez les guides Docker suivants pour mieux comprendre Docker, ses avantages et quand l'utiliser.

    • Une introduction à Docker
    • Quand et pourquoi utiliser Docker

Installation du moteur Docker

Docker Engine est le logiciel de conteneurisation sous-jacent utilisé lors du déploiement de conteneurs Docker. Les instructions suivantes installeront Docker sur CentOS et Fedora en utilisant le YUM gestionnaire de paquets.

Distributions prises en charge : CentOS 7, CentOS 8 (y compris d'autres dérivés de RHEL 8 tels qu'AlmaLinux et RockyLinux) et Fedora 32 (et versions ultérieures)

Remarque Alors que le MIAM le gestionnaire de paquets a été remplacé par DNF sur CentOS 8 et Fedora, le yum La commande est toujours présente en tant que lien symbolique vers DNF. En tant que telles, ces instructions fonctionnent toujours comme prévu.
  1. Assurez-vous que Docker n'est pas actuellement installé. La sortie indiquant que l'un des packages est introuvable peut être ignorée en toute sécurité.

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  2. Installez les yum-utils package, qui inclut yum-config-manager . Cela installera automatiquement dnf-plugins-core lors de l'utilisation de DNF.

    sudo yum install yum-utils
    
  3. Ajoutez le référentiel Docker à l'aide de yum-config-manager . Cela correspond automatiquement au dnf config-manager commande lors de l'utilisation de DNF. Dans la commande suivante, remplacez [url] avec l'url du dépôt de votre distribution :

    sudo yum-config-manager --add-repo [url]
    
    • RHEL/CentOS et dérivés : https://download.docker.com/linux/centos/docker-ce.repo
    • Fedora 32 et versions ultérieures : https://download.docker.com/linux/fedora/docker-ce.repo
  4. Installez Docker Engine et les autres packages requis :

    sudo yum install docker-ce docker-ce-cli containerd.io
    

    Au cours de cette étape, vous pouvez être invité à accepter la clé GPG. L'empreinte digitale doit être 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 . Vérifiez ces informations et saisissez y accepter.

Des instructions d'installation supplémentaires pour ces distributions sont disponibles dans la documentation de Docker :

  • Installer Docker Engine sur CentOS
  • Installer Docker Engine sur Fedora

Démarrer et tester Docker

Une fois Docker Engine installé, démarrez Docker et vérifiez que tout fonctionne en exécutant une image de test.

  1. Assurez-vous que le serveur Docker est en cours d'exécution.

    sudo systemctl start docker
    
  2. Configurez éventuellement Docker pour qu'il démarre au démarrage du serveur. Ceci est recommandé si vous avez l'intention d'exécuter une application de production dans cette installation Docker.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Vérifiez que Docker est correctement installé en exécutant l'image "hello-world".

    sudo docker run hello-world
    

    En cas de succès, Docker doit télécharger et exécuter l'image hello-world et afficher un message de réussite. Entre autres textes, la sortie doit inclure un message semblable au suivant :

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Gérer Docker avec un utilisateur non root

Par défaut, sudo est nécessaire pour exécuter les commandes Docker, mais un nouveau groupe, appelé docker , a été créé lors de l'installation. Lorsque le démon Docker démarre, il ouvre un socket Unix pour le docker membres du groupe.

Avant de continuer, assurez-vous d'avoir un compte d'utilisateur limité qui n'en a pas appartiennent au groupe sudo. Si vous n'avez pas encore créé de compte utilisateur limité, consultez les guidesConfiguration et sécurisation d'une instance de calcul ou Utilisateurs et groupes Linux pour obtenir des instructions.

  1. Entrez la commande ci-dessous pour ajouter un utilisateur au docker groupe, remplaçant [utilisateur] avec le nom de votre compte d'utilisateur limité.

    sudo usermod -aG docker [user]
    
  2. Connectez-vous au système en tant qu'utilisateur limité.

  3. Vérifiez que l'utilisateur limité peut exécuter docker commandes sans sudo en exécutant à nouveau l'image "hello-world".

    docker run hello-world
    

    La sortie doit avoir un message de réussite similaire à la sortie précédente.

Attention Le docker groupe accorde des privilèges similaires à ceux de l'utilisateur root. Consultez le guide Docker Daemon Attack Surface dans la documentation de Docker pour plus d'informations sur la façon dont cela peut affecter la sécurité du système. Pour exécuter le démon Docker sans utiliser les privilèges root, suivez les instructions de Exécuter le démon Docker en tant qu'utilisateur non root (mode sans racine).

Résoudre les erreurs de chargement des fichiers de configuration

Si l'utilisateur avait exécuté sudo docker commandes avant de rejoindre le groupe, elles peuvent se voir présenter un échec lors du chargement du fichier de configuration, comme ceci :

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Le problème est que le répertoire .docker dans leur répertoire personnel (~/.docker) a été créé avec les autorisations accordées par sudo .

Il existe deux correctifs possibles :

  1. Supprimer le .docker répertoire à partir de leur répertoire personnel. Docker le recréera automatiquement, mais tous les paramètres personnalisés seront perdus.

  2. Modifier les autorisations sur le .docker répertoire à l'aide des commandes :

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Utiliser des images Docker pour déployer des conteneurs

Les images Docker sont des modèles qui incluent les instructions et les spécifications pour créer un conteneur. Pour utiliser Docker, vous devez d'abord obtenir une image ou créer la vôtre en créant un dockerfile. Pour plus d'informations, consultez Une introduction à Docker.

Liste des images

Pour répertorier toutes les images de votre système, exécutez la commande suivante. Cela devrait afficher le hello-world image qui a été utilisée lors d'une étape précédente, ainsi que toute image supplémentaire que vous avez peut-être déjà obtenue.

docker images

Rechercher une image

Les images sont stockées sur des registres Docker, tels que Docker Hub (registre officiel de Docker). Vous pouvez rechercher des images sur ce site Web ou utiliser la commande suivante pour effectuer une recherche dans le registre Docker. Dans la commande suivante, remplacez [keyword] avec les mots clés que vous souhaitez rechercher, tels que nginx ou apache .

docker search [keyword]

Obtenir une image

Une fois que vous avez trouvé une image, téléchargez-la sur votre serveur. Dans la commande suivante, remplacez [image] avec le nom de l'image que vous souhaitez utiliser.

docker pull [image]

Par exemple, pour dérouler l'image officielle de nginx, exécutez :docker pull nginx .

Exécuter une image

Ensuite, créez un conteneur basé sur l'image en utilisant le docker run commande. Encore une fois, remplacez [image] avec le nom de l'image que vous souhaitez utiliser.

docker run [image]

Si l'image n'a pas encore été téléchargée et est disponible dans le registre de Docker, l'image sera automatiquement téléchargée sur votre serveur.

Gestion des conteneurs Docker

Liste des conteneurs

Pour répertorier tous les conteneurs Docker actifs (et inactifs) exécutés sur votre système, exécutez la commande suivante :

docker ps -a

La sortie doit ressembler à ce qui suit. Cet exemple de sortie montre le hello-world conteneur.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Démarrer un conteneur

Démarrez un conteneur Docker avec la commande suivante, en remplaçant [ID] avec l'ID de conteneur correspondant au conteneur que vous souhaitez démarrer :

docker start [ID]

Arrêter un conteneur

Arrêtez un conteneur Docker avec la commande suivante, en remplaçant [ID] avec l'identifiant du conteneur correspondant au conteneur que vous souhaitez arrêter :

docker stop [ID]

Certaines images (comme le hello-world image) s'arrêtent automatiquement après leur exécution. Cependant, de nombreux autres conteneurs continuent de s'exécuter jusqu'à ce qu'on leur demande explicitement de s'arrêter, et vous souhaiterez peut-être exécuter ces conteneurs en arrière-plan. Dans ces cas, cette commande peut être utile.

Supprimer un conteneur

Supprimez un conteneur Docker avec la commande suivante, en remplaçant [ID] avec l'ID de conteneur correspondant au conteneur que vous souhaitez supprimer :

docker rm [ID]

Plus d'informations

Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.

  • Site Web pour Docker
  • Documentation pour Docker
  • Site Web pour containerd

Docker
  1. Installation et configuration de php 7x sur Centos 8

  2. Installation et configuration de Grafana sous Linux

  3. Comment installer et utiliser Docker Compose sur CentOS

  4. Comment installer Docker sur CentOS

  5. Comment installer docker sur CentOS / RHEL / Fedora

Comment installer Docker sur CentOS 8

Installer Apache et PHP sur CentOS 8

Comment installer Docker sur Fedora 35

Comment installer Docker et Docker Compose sous Linux

Installer correctement Docker sur Ubuntu [Guide du débutant]

Comment installer et utiliser Docker sur Ubuntu 20.04