GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So aktualisieren Sie Docker unter CentOS

Docker ist eine Open-Source-Plattform zum Entwickeln, Versenden und Ausführen von Anwendungen. Docker v17.12 ist die neueste stabile Version zum Zeitpunkt des Schreibens dieses Artikels. Es bietet die Möglichkeit, eine Anwendung in einer vollständig isolierten Umgebung, die als Container bezeichnet wird, zu verpacken und auszuführen. Wir können viele Container gleichzeitig auf einem bestimmten Host ausführen. Container sind leicht und schnell, da sie keinen Hypervisor benötigen, sondern direkt im Kernel des Hostcomputers ausgeführt werden.

Docker-Architektur

Docker ist eine Client-Server-Anwendung, bei der sowohl Client als auch Daemon auf demselben System ausgeführt werden können, oder Sie können einen Docker-Client mit einem entfernten Docker-Daemon verbinden. Docker-Clients und -Daemon kommunizieren über Sockets oder RESTful API (Representational State Transfer – es ist eine zustandslose Übertragung über HTTP einer Webseite, die eine XML-Datei enthält, die den gewünschten Inhalt enthält und beschreibt).

Die Hauptkomponenten von Docker sind

  • Docker Daemon :Der Docker-Daemon (dockerd) wartet auf Docker-API-Anforderungen und verwaltet Docker-Objekte wie Bilder, Container, Netzwerke und Volumes. Ein Daemon kann auch mit anderen Daemons kommunizieren, um Docker-Dienste zu verwalten.
  • Docker Client :Der Docker-Client (Docker) ist die primäre Methode, mit der Docker-Benutzer mit Docker interagieren. Wenn wir Befehle wie Docker Run, Docker Build usw. verwenden, sendet der Client diese Befehle an den Docker-Daemon (Dockerd), der sie ausführt. Der Docker-Befehl verwendet die Docker-API. Es kann mit mehr als einem Daemon kommunizieren.
  • Docker Registry (2.4.1) :Eine Docker-Registry speichert Docker-Images. Docker Hub und Docker Cloud sind öffentliche Registrierungen, die jeder verwenden kann. Standardmäßig ist Docker so konfiguriert, dass es auf Docker Hub nach Bildern sucht. Wir können sogar unser eigenes privates Register für unsere Bilder einrichten.

In diesem Artikel erkläre ich, wie Sie Ihr Docker sowohl auf CentOS 7 als auch auf Fedora 27 auf die neueste verfügbare Version aktualisieren können.

Voraussetzungen

Um die Docker CE-Version zu installieren, benötigen wir eine gepflegte Version von CentOS 7. Das Centos-Extras-Repository muss aktiviert sein. Dieses Repository ist standardmäßig aktiviert, aber wenn Sie es deaktiviert haben, müssen Sie es erneut aktivieren.

Upgrade von Docker auf CentOS 7.4

Für das Upgrade von Docker wird empfohlen, die Docker Community Edition (Docker CE) zu installieren, die Ihnen beim Installieren, Aktualisieren und Warten von Docker mit dem Support und den Zusicherungen hilft, die für Ihre spezielle Workload erforderlich sind. Der Overlay2-Speichertreiber wird empfohlen. overlay2 ist die Standardauswahl für Docker CE. Der Speichertreiber steuert, wie Images und Container auf Ihrem Docker-Host gespeichert und verwaltet werden. Docker unterstützt mehrere verschiedene Speichertreiber. Der devicemapper ist unsere nächste Wahl, erfordert aber direct-lvm für Produktionsumgebungen für eine bessere Leistung.

Beginnen wir mit den Schritten zum Upgrade Ihrer alten Docker-Version.

  • Deinstallieren Sie die alten Docker-Versionen

Die Docker- und Docker-Engine-Pakete werden als alte Pakete bezeichnet. Wenn Sie diese alten Versionen ausführen, können Sie sie zuerst deinstallieren, um fortzufahren. Führen Sie diesen Befehl aus, um alle Docker-Traces von Ihrem Server zu entfernen.

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

Selbst wenn diese Pakete vom Server entfernt werden, bleiben alle unsere erforderlichen Docker-Inhalte, einschließlich Images, Container, Volumes und Netzwerke, in /var/lib/docker/ erhalten Ordner.

  • Docker CE installieren

Sie können zunächst Docker-Repositories einrichten und diese damit installieren. Dadurch wird der Installations- und Upgrade-Prozess mit demselben Repository viel einfacher. Zum Einrichten unseres Repositorys benötigen wir das Dienstprogramm yum-config-manager, das vom Paket yum-utils bereitgestellt wird. Und wie bereits erwähnt, bevorzugt Docker CE einen Speichertreiber, hier verwenden wir devicemapper . Daher benötigen wir für diesen Speichertreiber diese device-mapper-persistent-data and lvm2 packages . Mit diesem Befehl können wir alle diese Voraussetzungen für die Einrichtung unseres Repositorys installieren.

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

Als Nächstes können Sie den folgenden Befehl verwenden, um das stabile Docker-Repository zu aktivieren.

#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: Edge- und Test-Repositorys sind ebenfalls in dieser Repo-Datei enthalten, sie ist standardmäßig deaktiviert. Wenn Sie möchten, können Sie diese Repo-Dateien auch neben Stable Repo aktivieren und die verfügbaren Edge- oder Testversionen installieren. Dies kann durch Ausführen des folgenden Befehls unten erfolgen:

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

Nach dem Aktivieren dieser Repositorys wird der Installationsbefehl die Installation aus dem Edge-Repository übertragen.

# 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)

Wenn Sie also die neueste Stable-Version benötigen, können Sie diese Edge- und Test-Repos einfach deaktiviert lassen. Sie können den yum-config-manager verwenden Befehl mit dem --disable Flag, um diese Repos zu deaktivieren.

Manchmal können noch einige Spuren alter Docker-Komponenten auf dem Server vorhanden sein, selbst wenn wir yum remove ausgeführt haben Befehl wie in Schritt 1. Wenn während der Installation alte Docker-Versionen verfügbar sind, wird der folgende Fehler gemeldet:

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

Ich habe diese Pakete manuell mit dem Befehl yum remove entfernt, um mit der Installation wie folgt erfolgreich fortzufahren:

# 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)

Überprüfen der Docker-Installation

Sobald die Installation abgeschlossen ist, können Sie den Docker-Dienst starten und aktivieren und die Installation überprüfen, indem Sie hello-world ausführen Bild.

# 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/

Upgrade von Docker CE

Sie können den Befehl yum upgrade verwenden, um Ihre Docker-Version in Zukunft auf die neueste stabile Version zu aktualisieren. Derzeit ist auf unserem Server bereits der neueste verfügbare Stable Docker-Build installiert, nämlich die Docker-Version 17.12.

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

Wenn wir nun diese aktuelle stabile Version auf die neueste verfügbare Edge-Version aktualisieren müssen, können Sie einfach die Edge-Repo-Datei im Docker-Repository aktivieren und den Befehl yum upgrade wie folgt ausführen:

# 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

Dadurch wird die neueste Edge-Version installiert, die aus dem Repository verfügbar ist. Sie können die Docker-Version nach der Installation bestätigen. Bitte lesen Sie diese Dokumentation, um mehr über Stable- und Edge-Versionen zu erfahren.

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

Upgrade von Docker auf Fedora 27

Da sowohl Fedora als auch CentOS von RedHat stammen, sind die verwendeten Befehle bis auf die Unterschiede im Docker-Paket ziemlich identisch. Ähnlich wie im vorherigen Fall müssen wir auch in Fedora alte verfügbare Docker-Versionen entfernen und Docker Community Edition (Docker CE) installieren, um die Installation und das Upgrade zu vereinfachen.

Voraussetzungen

Um Docker zu installieren, benötigen Sie die 64-Bit-Version dieser neuesten Fedora 27-Version

Beginnen wir mit den Schritten zum Upgrade Ihrer alten Docker-Version auf Fedora.

  • Alte Docker-Version deinstallieren

Wie bereits erwähnt, werden die Pakete docker und docker-engine als alte Pakete bezeichnet. Sie können diese alten Pakete mit dem folgenden Befehl entfernen:

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

Selbst wenn diese Pakete vom Server entfernt werden, bleiben alle unsere erforderlichen Docker-Inhalte, einschließlich Images, Container, Volumes und Netzwerke, im Ordner /var/lib/docker/ erhalten.

  • Docker CE installieren

Wir müssen das Docker-Repository für Fedora aktivieren, um die Docker CE-Version zu installieren. Um dieses Repository einzurichten, benötigen wir einige der Befehle zum Verwalten des dnf-Paketmanagers. Der dnf-plugins-core -Paket stellt die Befehle zum Verwalten Ihrer DNF-Repositories über die Befehlszeile bereit. Sie können dies mit dem folgenden Befehl installieren:

# dnf -y install dnf-plugins-core

Jetzt können wir diesen Befehl verwenden, um das Stable-Repository zu aktivieren und die neueste verfügbare Stable-Version aus diesem Repository mithilfe von dnf install zu installieren Befehl.

# 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

Wie bereits erwähnt, sind sowohl Edge- als auch Test-Repository-Dateien in diesem Docker-Repository (docker.repo-Datei) vorhanden. Aber beide sind standardmäßig deaktiviert, um nur die Stable-Stufe zu aktivieren. Bei Bedarf können Sie es mit den folgenden Befehlen aktivieren:

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

Docker CE aktualisieren

Um Ihr Docker CE zu aktualisieren, können Sie dnf -y upgrade verwenden . Dadurch wird auf die neueste Stable-Stufe aktualisiert, die im Docker-Repository verfügbar ist.

# dnf -y upgrade docker-ce

Abschluss

Docker hat es Entwicklern und Betriebsteams leicht gemacht, Anwendungen schnell zu erstellen und bereitzustellen. Da das Unternehmen schnelle Updates für Docker veröffentlicht, um das Produkt zu verbessern und Kundenanforderungen zu erfüllen, sieht die Zukunft für Docker definitiv rosig aus.


Cent OS
  1. So installieren Sie Docker unter CentOS 7 / RHEL 7

  2. So installieren Sie Docker in CentOS

  3. So aktualisieren Sie CentOS 6.10 von CentOS 6.9-6.0

  4. So aktualisieren Sie CentOS 7.8 von CentOS 7.7-7.0

  5. So aktualisieren Sie CentOS 7 auf CentOS 8

So aktualisieren Sie Centos 7 auf 8

So aktualisieren Sie den Linux-Kernel auf CentOS 7

So installieren Sie Docker unter CentOS

So installieren Sie Docker CE auf CentOS 8

So installieren Sie Rancher unter CentOS 8

So installieren Sie Docker unter CentOS 7