GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et utiliser Docker sur CentOS 7

Docker est une technologie de conteneurisation qui vous permet de créer, tester et déployer rapidement des applications sous forme de conteneurs portables et autonomes pouvant s'exécuter pratiquement n'importe où.

Dans ce didacticiel, nous verrons comment installer Docker CE sur CentOS 7 et explorerons les concepts et commandes de base de Docker.

Prérequis #

Avant de poursuivre ce didacticiel, assurez-vous que les conditions préalables suivantes sont remplies :

  • Serveur CentOS 7
  • Vous êtes connecté en tant qu'utilisateur non root avec des privilèges sudo. Vous consultez ce guide pour savoir comment créer un nouvel utilisateur sudo.

Installer Docker sur CentOS #

Bien que le package Docker soit disponible dans le référentiel officiel CentOS 7, il se peut qu'il ne s'agisse pas toujours de la dernière version. L'approche recommandée consiste à installer Docker à partir des référentiels de Docker.

Pour installer Docker sur votre serveur CentOS 7, suivez les étapes ci-dessous :

  1. Commencez par mettre à jour vos packages système et installez les dépendances requises :

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. Ensuite, exécutez la commande suivante qui ajoutera le référentiel stable Docker à votre système :

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Maintenant que le référentiel Docker est activé, installez la dernière version de Docker CE (Community Edition) à l'aide de yum en tapant :

    sudo yum install docker-ce
  4. Une fois le package Docker installé, démarrez le démon Docker et activez-le pour qu'il démarre automatiquement au démarrage :

    sudo systemctl start dockersudo systemctl enable docker
  5. Pour vérifier que le service Docker est en cours d'exécution, tapez :

    sudo systemctl status docker

    Le résultat devrait ressembler à ceci :

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago
         Docs: https://docs.docker.com
     Main PID: 2492 (dockerd)
       CGroup: /system.slice/docker.service
               ├─2492 /usr/bin/dockerd
               └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
  6. Au moment de la rédaction, la version stable actuelle de Docker est 18.06.1 , pour imprimer le type de version de Docker :

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

Exécution de la commande Docker sans Sudo #

Par défaut, la gestion de Docker nécessite des privilèges d'administrateur. Si vous souhaitez exécuter des commandes Docker en tant qu'utilisateur non root sans ajouter sudo vous devez ajouter votre utilisateur au groupe docker qui est créé lors de l'installation du package Docker CE. Vous pouvez le faire en tapant :

sudo usermod -aG docker $USER

$USER est une variable d'environnement qui contient votre nom d'utilisateur.

Déconnectez-vous et reconnectez-vous pour que l'appartenance au groupe soit actualisée.

Pour vérifier que Docker est installé avec succès et que vous pouvez exécuter les commandes Docker sans sudo, lancez la commande suivante qui téléchargera une image de test, l'exécutera dans un conteneur, imprimera un message "Hello from Docker" et quittera :

docker container run hello-world

Le résultat devrait ressembler à ceci :

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

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

Interface de ligne de commande Docker #

Maintenant que nous avons une installation Docker fonctionnelle, passons en revue la syntaxe de base de la CLI docker.

La ligne de commande docker prend la forme suivante :

docker [option] [subcommand] [arguments]

Vous pouvez lister toutes les commandes disponibles en tapant docker sans paramètres :

docker

Si vous avez besoin de plus d'aide sur une [subcommand] , tapez simplement :

docker [subcommand] --help

Images Docker #

Une image Docker est composée d'une série de couches représentant des instructions dans le fichier Docker de l'image qui constituent une application logicielle exécutable. Une image est un fichier binaire immuable comprenant l'application et toutes les autres dépendances telles que les binaires, les bibliothèques et les instructions nécessaires à l'exécution de l'application. En bref, une image Docker est essentiellement un instantané d'un conteneur Docker.

Docker Hub est un service de registre basé sur le cloud qui, entre autres fonctionnalités, est utilisé pour conserver les images Docker dans un référentiel public ou privé.

Pour rechercher une image dans le référentiel Docker Hub, utilisez simplement la search sous-commande. Par exemple, pour rechercher l'image CentOS, exécutez :

docker search centos

Le résultat devrait ressembler à ceci :

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4257                [OK]
ansible/centos7-ansible            Ansible on Centos7                              109                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_…   94                                      [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   52                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                                      [OK]
tutum/centos                       Simple CentOS docker image with SSH access      39

Comme vous pouvez le voir, les résultats de la recherche impriment un tableau à cinq colonnes, NAME , DESCRIPTION , STARS , OFFICIAL et AUTOMATED . L'image officielle est une image que Docker développe en collaboration avec des partenaires en amont.

Si nous voulons télécharger la version officielle de CentOS 7, nous pouvons le faire en utilisant le image pull sous-commande :

docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for centos:latest

Selon votre débit Internet, le téléchargement peut prendre quelques secondes ou quelques minutes. Une fois l'image téléchargée, nous pouvons lister les images avec :

docker image ls

Le résultat devrait ressembler à ceci :

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        3 weeks ago         1.85kB
centos              latest              e934aafc2206        4 weeks ago         199MB

Si pour une raison quelconque vous souhaitez supprimer une image, vous pouvez le faire avec le image rm [image_name] sous-commande :

docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f
Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Conteneurs Docker #

Une instance d'une image est appelée un conteneur. Un conteneur représente un environnement d'exécution pour une application, un processus ou un service unique.

Ce n'est peut-être pas la comparaison la plus appropriée, mais si vous êtes un programmeur, vous pouvez considérer une image Docker comme une classe et un conteneur Docker comme une instance d'une classe.

Nous pouvons démarrer, arrêter, supprimer et gérer un conteneur avec le docker container sous-commande.

La commande suivante démarrera un conteneur Docker basé sur l'image CentoOS. Si vous n'avez pas l'image localement, il la téléchargera d'abord :

docker container run centos

À première vue, il peut vous sembler qu'il ne s'est rien passé du tout. Bien, ce n'est pas vrai. Le conteneur CentOS s'arrête immédiatement après le démarrage car il n'a pas de processus de longue durée et nous n'avons fourni aucune commande, donc le conteneur a démarré, a exécuté une commande vide, puis s'est arrêté.

Le commutateur -it nous permet d'interagir avec le conteneur via la ligne de commande. Pour démarrer un type de conteneur interactif :

docker container run -it centos /bin/bash

Comme vous pouvez le voir sur la sortie une fois le conteneur démarré, l'invite de commande est modifiée, ce qui signifie que vous travaillez maintenant depuis l'intérieur du conteneur :

[root@719ef9304412 /]#

Pour répertorier les conteneurs en cours d'exécution :, saisissez :

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
Si vous n'avez aucun conteneur en cours d'exécution, la sortie sera vide.

Pour afficher les conteneurs en cours d'exécution et arrêtés, transmettez-lui le -a commutateur :

docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"              22 minutes ago      Up 22 minutes                                   ecstatic_ardinghelli
c55680af670c        centos              "/bin/bash"              30 minutes ago      Exited (0) 30 minutes ago                       modest_hawking
c6a147d1bc8a        hello-world         "/hello"                 20 hours ago        Exited (0) 20 hours ago                         sleepy_shannon

Pour supprimer un ou plusieurs conteneurs, copiez simplement l'ID (ou les ID) du conteneur ci-dessus et collez-les après le container rm sous-commande :

docker container rm c55680af670c

Cent OS
  1. Comment installer et utiliser TensorFlow sur CentOS 7

  2. Comment installer Docker sur CentOS 8

  3. Comment installer et utiliser Docker sur Ubuntu 18.04

  4. Comment installer et utiliser Docker Compose sur CentOS 7

  5. Comment installer et utiliser Docker Compose sur CentOS

Comment installer et utiliser TermRecord sur CentOS 8

Comment installer Docker sur CentOS 7

Comment installer et utiliser Traceroute sur CentOS 7

Comment installer Docker sur CentOS 8

Comment installer et utiliser Docker sur Ubuntu 20.04

Comment installer et utiliser Docker sur CentOS 8