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

Comment mettre à jour Docker sur CentOS

Docker est une plate-forme open source pour le développement, la livraison et l'exécution d'applications. Docker v17.12 est la dernière version stable au moment de la rédaction de cet article. Il offre la possibilité de conditionner et d'exécuter une application dans un environnement totalement isolé appelé conteneur. Nous pouvons exécuter plusieurs conteneurs simultanément sur un hôte donné. Les conteneurs sont légers et rapides car ils n'ont pas besoin d'un hyperviseur, mais s'exécutent directement dans le noyau de la machine hôte.

Architecture Docker

Docker est une application client-serveur, où le client et le démon peuvent être exécutés sur le même système ou vous pouvez connecter un client Docker avec un démon Docker distant. Les clients et le démon Docker communiquent via des sockets ou une API RESTful (Representational State Transfer - il s'agit d'un transfert sans état via HTTP d'une page Web contenant un fichier XML qui inclut et décrit le contenu souhaité).

Les principaux composants de Docker sont

  • Docker Daemon :Le démon Docker (dockerd) écoute les requêtes de l'API Docker et gère les objets Docker tels que les images, les conteneurs, les réseaux et les volumes. Un démon peut également communiquer avec d'autres démons pour gérer les services Docker.
  • Docker Client :Le client Docker (docker) est le principal moyen par lequel les utilisateurs Docker interagissent avec Docker. Lorsque nous utilisons des commandes telles que docker run, docker build, etc., le client envoie ces commandes au démon docker (dockerd), qui les exécute. La commande docker utilise l'API Docker. Il peut communiquer avec plusieurs démons.
  • Docker Registry (2.4.1) :Un registre Docker stocke les images Docker. Docker Hub et Docker Cloud sont des registres publics que tout le monde peut utiliser. Par défaut, Docker est configuré pour rechercher des images sur Docker Hub. Nous pouvons même configurer notre propre registre privé pour nos images.

Dans cet article, je vais vous expliquer comment vous pouvez mettre à niveau votre Docker vers la dernière version disponible sur CentOS 7 et Fedora 27.

Pré-requis

Pour installer la version Docker CE, nous avons besoin d'une version maintenue de CentOS 7. Le référentiel centos-extras doit être activé. Ce référentiel est activé par défaut, mais si vous l'avez désactivé, vous devez le réactiver.

Mettre à niveau Docker sur CentOS 7.4

Pour mettre à niveau Docker, il est recommandé d'installer Docker Community Edition (Docker CE) qui vous aidera à installer, mettre à niveau et maintenir Docker avec le support et les assurances requis pour votre charge de travail particulière. Le pilote de stockage overlay2 est recommandé. overlay2 est le choix par défaut pour Docker CE. Le pilote de stockage contrôle la manière dont les images et les conteneurs sont stockés et gérés sur votre hôte Docker. Docker prend en charge plusieurs pilotes de stockage différents. Le devicemapper est notre prochain choix, mais il nécessite direct-lvm pour les environnements de production pour de meilleures performances.

Commençons par les étapes pour mettre à niveau votre ancienne version de Docker.

  • Désinstaller les anciennes versions de Docker

Les packages docker et docker-engine sont appelés les anciens packages. Si vous utilisez ces anciennes versions, vous pouvez d'abord les désinstaller pour continuer. Exécutez cette commande pour supprimer toutes les traces docker de votre serveur.

#yum remove docker docker-common docker-selinux docker-engine

Même si ces packages sont supprimés du serveur, tout le contenu de notre docker requis, y compris les images, les conteneurs, les volumes et les réseaux, est conservé dans le /var/lib/docker/ dossier.

  • Installer Docker CE

Vous pouvez tout d'abord configurer les référentiels Docker et les installer à l'aide de celui-ci. Cela facilitera grandement le processus d'installation et de mise à niveau avec le même référentiel. Pour configurer notre référentiel, nous avons besoin de l'utilitaire yum-config-manager qui est fourni par le package yum-utils. Et comme discuté précédemment, Docker CE préfère un pilote de stockage, ici nous utilisons devicemapper . Par conséquent, pour ce pilote de stockage, nous avons besoin de ces packages device-mapper-persistent-data and lvm2 packages . Nous pouvons installer tous ces prérequis pour configurer notre référentiel à l'aide de cette commande.

#yum install -y yum-utils device-mapper-persistent-data lvm2

Ensuite, vous pouvez utiliser la commande suivante pour activer le référentiel Docker stable.

#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce
Loaded plugins: fastestmirror
docker-ce-stable | 2.9 kB 00:00:00 
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* extras: repo.uk.bigstepcloud.com
* updates: mirror.sov.uk.goscomb.net
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:17.12.0.ce-1.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 17.12.0.ce-1.el7.centos docker-ce-stable 30 M

Transaction Summary
============================================================================================================================================================================================================
Install 1 Package

This step is optional: Les référentiels Edge et de test sont également inclus dans ce fichier de référentiel, il est désactivé par défaut. Si vous le souhaitez, vous pouvez également activer ces fichiers de référentiel aux côtés du référentiel stable et installer les versions Edge ou de test disponibles. Cela peut être fait en exécutant la commande suivante ci-dessous :

#yum-config-manager --enable docker-ce-edge
#yum-config-manager --enable docker-ce-test

Après avoir activé ces référentiels, la commande d'installation poussera l'installation à partir du référentiel Edge.

# yum install docker-ce
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 18.01.0.ce-1.el7.centos docker-ce-edge 33 M
Installing for dependencies:
libtool-ltdl x86_64 2.4.2-22.el7_3 base 49 k

Transaction Summary
============================================================================================================================================================================================================
Install 1 Package (+1 Dependent package)

Donc, si vous avez besoin de la dernière version stable, vous pouvez simplement désactiver ces référentiels Edge et Test. Vous pouvez utiliser le yum-config-manager commande avec le --disable drapeau pour désactiver ces dépôts.

Parfois, il peut y avoir encore des traces d'anciens composants docker présents sur le serveur même si nous avons exécuté yum remove commande comme à l'étape 1. Lors de l'installation, si d'anciennes versions de Docker sont disponibles, une erreur sera signalée comme ci-dessous :

Transaction check error:
file /usr/bin/docker from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

J'ai supprimé manuellement ces packages à l'aide de la commande yum remove pour procéder à l'installation avec succès comme ci-dessous :

# yum remove docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Removing:
docker-common x86_64 2:1.12.6-68.gitec8512b.el7.centos @extras 4.5 k
Removing for dependencies:
docker-client x86_64 2:1.12.6-68.gitec8512b.el7.centos @extras 11 M

Transaction Summary
============================================================================================================================================================================================================
Remove 1 Package (+1 Dependent package)

Vérifier l'installation de Docker

Une fois l'installation terminée, vous pouvez démarrer et activer le service docker et vérifier l'installation en exécutant le hello-world photo.

# systemctl start docker
# systemctl enable docker
# 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 Tue 2018-01-23 06:36:24 UTC; 2s ago
Docs: https://docs.docker.com
Main PID: 30700 (dockerd)
Memory: 23.1M
CGroup: /system.slice/docker.service
├─30700 /usr/bin/dockerd
└─30703 docker-containerd --config /var/run/docker/containerd/containerd.toml

# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:66ef312bbac49c39a89aa9bcc3cb4f3c9e7de3788c944158df3ee0176d32b751
Status: Downloaded newer image for hello-world:latest

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://cloud.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

Mise à niveau de Docker CE

Vous pouvez utiliser la commande yum upgrade pour mettre à jour votre version de Docker vers sa dernière version stable à l'avenir. Actuellement, notre serveur est déjà installé avec la dernière version Stable Docker disponible, qui est la version Docker 17.12.

# docker -v
Docker version 17.12.0-ce, build c97c6d6

Maintenant, si nous devons mettre à niveau cette version stable actuelle vers la dernière version Edge disponible, vous pouvez simplement activer le fichier edge repo dans le référentiel Docker et exécuter la commande yum upgrade comme ci-dessous :

# yum-config-manager --enable docker-ce-edge
# yum upgrade docker-ce
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Updating:
docker-ce x86_64 18.01.0.ce-1.el7.centos docker-ce-edge 33 M

Transaction Summary
============================================================================================================================================================================================================
Upgrade 1 Package

Cela installera la dernière version d'Edge disponible dans le référentiel. Vous pouvez confirmer la version de Docker après l'installation. Veuillez consulter cette documentation pour en savoir plus sur les versions stables et Edge.

# docker -v
Docker version 18.01.0-ce, build 03596f5

Mettre à jour Docker sur Fedora 27

Comme Fedora et CentOS proviennent de RedHat, les commandes utilisées sont à peu près identiques, à l'exception des différences dans le package Docker. Comme dans le cas précédent, dans Fedora également, nous devons supprimer les anciennes versions de docker disponibles et installer Docker Community Edition (Docker CE) pour faciliter l'installation et la mise à niveau.

Pré-requis

Pour installer Docker, vous avez besoin de la version 64 bits de ces dernières versions de Fedora 27

Commençons par les étapes pour mettre à niveau votre ancienne version de Docker sur Fedora.

  • Désinstaller l'ancienne version de Docker

Comme indiqué précédemment, les packages docker et docker-engine sont appelés les anciens packages. Vous pouvez supprimer ces anciens packages avec cette commande ci-dessous :

#dnf remove docker docker-common docker-selinux docker-engine-selinux docker-engine

Même si ces packages sont supprimés du serveur, tous nos contenus Docker requis, y compris les images, les conteneurs, les volumes et les réseaux, sont conservés dans le dossier /var/lib/docker/.

  • Installer Docker CE

Nous devons activer le référentiel Docker pour Fedora pour installer la version Docker CE. Afin de configurer ce référentiel, nous avons besoin de certaines des commandes pour gérer le gestionnaire de packages dnf. Le dnf-plugins-core package fournit les commandes pour gérer vos référentiels DNF à partir de la ligne de commande. Vous pouvez l'installer en utilisant la commande ci-dessous :

# dnf -y install dnf-plugins-core

Maintenant, nous pouvons utiliser cette commande pour activer le dépôt Stable et installer la dernière version Stable disponible à partir de ce dépôt en utilisant le dnf install commande.

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

# dnf install docker-ce
Last metadata expiration check: 0:00:20 ago on Mon 22 Jan 2018 09:43:35 AM UTC.
Dependencies resolved.
============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 17.12.0.ce-1.fc27 docker-ce-stable 31 M
Installing dependencies:
container-selinux noarch 2:2.38-1.fc27 updates 36 k
iptables x86_64 1.6.1-4.fc27 fedora 471 k
libnetfilter_conntrack x86_64 1.0.6-4.fc27 fedora 62 k
libnfnetlink x86_64 1.0.1-11.fc27 fedora 31 k
policycoreutils-python-utils x86_64 2.7-1.fc27 fedora 223 k

Transaction Summary
============================================================================================================================================================================================================
Install 6 Packages

Comme indiqué précédemment, les fichiers de dépôt Edge et Test sont présents dans ce référentiel Docker (fichier docker.repo). Mais les deux sont désactivés par défaut pour activer le niveau Stable seul. Si nécessaire, vous pouvez l'activer à l'aide des commandes ci-dessous :

# dnf config-manager --set-enabled docker-ce-edge
# dnf config-manager --set-enabled docker-ce-test

Mettre à niveau Docker CE

Pour mettre à jour votre Docker CE, vous pouvez utiliser dnf -y upgrade . Cela mettra à niveau vers le dernier niveau stable disponible dans le référentiel Docker.

# dnf -y upgrade docker-ce

Conclusion

Docker a facilité la vie des développeurs et des équipes opérationnelles pour créer et déployer rapidement des applications respectivement. Avec la publication par la société de mises à jour rapides de Docker afin d'améliorer le produit et de répondre aux exigences des clients, l'avenir est assurément radieux pour Docker.


Cent OS
  1. Comment installer Docker sur CentOS 7 / RHEL 7

  2. Comment installer Docker dans CentOS

  3. Comment mettre à niveau CentOS 6.10 à partir de CentOS 6.9-6.0

  4. Comment mettre à niveau CentOS 7.8 à partir de CentOS 7.7-7.0

  5. Comment mettre à niveau CentOS 7 vers CentOS 8

Comment mettre à jour Centos 7 à 8

Comment mettre à niveau le noyau Linux sur CentOS 7

Comment installer Docker sur CentOS

Comment installer Docker CE sur CentOS 8

Comment installer Rancher sur CentOS 8

Comment installer Docker sur CentOS 7