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

So installieren und verwenden Sie Docker unter CentOS 7

Docker ist eine Containerisierungstechnologie, mit der Sie Anwendungen schnell als tragbare, autarke Container erstellen, testen und bereitstellen können, die praktisch überall ausgeführt werden können.

In diesem Tutorial gehen wir durch die Installation von Docker CE auf CentOS 7 und untersuchen die grundlegenden Docker-Konzepte und -Befehle.

Voraussetzungen #

Bevor Sie mit diesem Lernprogramm fortfahren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • CentOS 7-Server
  • Sie sind als Nicht-Root-Benutzer mit sudo-Berechtigungen angemeldet. In dieser Anleitung erfahren Sie, wie Sie einen neuen sudo-Benutzer erstellen.

Installieren Sie Docker unter CentOS #

Obwohl das Docker-Paket im offiziellen CentOS 7-Repository verfügbar ist, ist es möglicherweise nicht immer die neueste Version. Der empfohlene Ansatz besteht darin, Docker aus den Docker-Repositories zu installieren.

Führen Sie die folgenden Schritte aus, um Docker auf Ihrem CentOS 7-Server zu installieren:

  1. Beginnen Sie mit der Aktualisierung Ihrer Systempakete und installieren Sie die erforderlichen Abhängigkeiten:

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. Führen Sie als Nächstes den folgenden Befehl aus, der das stabile Docker-Repository zu Ihrem System hinzufügt:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Nachdem das Docker-Repository aktiviert ist, installieren Sie die neueste Version von Docker CE (Community Edition) mit yum, indem Sie Folgendes eingeben:

    sudo yum install docker-ce
  4. Sobald das Docker-Paket installiert ist, starten Sie den Docker-Daemon und aktivieren Sie ihn so, dass er beim Booten automatisch gestartet wird:

    sudo systemctl start dockersudo systemctl enable docker
  5. Um zu überprüfen, ob der Docker-Dienst ausgeführt wird, geben Sie Folgendes ein:

    sudo systemctl status docker

    Die Ausgabe sollte in etwa so aussehen:

    ● 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. Zum Zeitpunkt des Schreibens ist die aktuelle stabile Version von Docker 18.06.1 , um die Docker-Version zu drucken, geben Sie Folgendes ein:

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

Ausführen des Docker-Befehls ohne Sudo #

Standardmäßig erfordert die Verwaltung von Docker Administratorrechte. Wenn Sie Docker-Befehle als Nicht-Root-Benutzer ausführen möchten, ohne sudo voranzustellen Sie müssen Ihren Benutzer zur Docker-Gruppe hinzufügen, die während der Installation des Docker-CE-Pakets erstellt wird. Geben Sie dazu Folgendes ein:

sudo usermod -aG docker $USER

$USER ist eine Umgebungsvariable, die Ihren Benutzernamen enthält.

Melden Sie sich ab und wieder an, damit die Gruppenmitgliedschaft aktualisiert wird.

Um zu überprüfen, ob Docker erfolgreich installiert wurde und ob Sie Docker-Befehle ohne sudo ausführen können, führen Sie den folgenden Befehl aus, der ein Test-Image herunterlädt, es in einem Container ausführt, eine „Hello from Docker“-Nachricht ausgibt und beendet:

docker container run hello-world

Die Ausgabe sollte wie folgt aussehen:

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.

Docker-Befehlszeilenschnittstelle #

Nachdem wir nun eine funktionierende Docker-Installation haben, gehen wir die grundlegende Syntax der Docker-CLI durch.

Die Docker-Befehlszeile hat folgende Form:

docker [option] [subcommand] [arguments]

Sie können alle verfügbaren Befehle auflisten, indem Sie docker eingeben ohne Parameter:

docker

Wenn Sie weitere Hilfe zu einem [subcommand] benötigen , geben Sie einfach ein:

docker [subcommand] --help

Docker-Images #

Ein Docker-Image besteht aus einer Reihe von Ebenen, die Anweisungen in der Docker-Datei des Images darstellen, die eine ausführbare Softwareanwendung bilden. Ein Image ist eine unveränderliche Binärdatei, die die Anwendung und alle anderen Abhängigkeiten wie Binärdateien, Bibliotheken und Anweisungen enthält, die zum Ausführen der Anwendung erforderlich sind. Kurz gesagt, ein Docker-Image ist im Wesentlichen ein Snapshot eines Docker-Containers.

Der Docker-Hub ist ein Cloud-basierter Registrierungsdienst, der unter anderem dazu dient, die Docker-Images entweder in einem öffentlichen oder privaten Repository zu halten.

Um das Docker-Hub-Repository nach einem Image zu durchsuchen, verwenden Sie einfach die search Unterbefehl. Um beispielsweise nach dem CentOS-Image zu suchen, führen Sie Folgendes aus:

docker search centos

Die Ausgabe sollte wie folgt aussehen:

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

Wie Sie sehen können, druckt das Suchergebnis eine Tabelle mit fünf Spalten, NAME , DESCRIPTION , STARS , OFFICIAL und AUTOMATED . Das offizielle Image ist ein Image, das Docker gemeinsam mit Upstream-Partnern entwickelt.

Wenn wir den offiziellen Build von CentOS 7 herunterladen möchten, können wir dies tun, indem wir den image pull verwenden Unterbefehl:

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

Abhängig von Ihrer Internetgeschwindigkeit kann der Download einige Sekunden oder einige Minuten dauern. Sobald das Bild heruntergeladen ist, können wir die Bilder auflisten mit:

docker image ls

Die Ausgabe sollte in etwa so aussehen:

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

Wenn Sie aus irgendeinem Grund ein Bild löschen möchten, können Sie dies mit image rm [image_name] tun Unterbefehl:

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

Docker-Container #

Eine Instanz eines Bildes wird Container genannt. Ein Container stellt eine Laufzeit für eine einzelne Anwendung, einen Prozess oder einen Dienst dar.

Es ist vielleicht nicht der geeignetste Vergleich, aber wenn Sie ein Programmierer sind, können Sie sich ein Docker-Image als Klasse und einen Docker-Container als Instanz einer Klasse vorstellen.

Mit dem docker container können wir einen Container starten, stoppen, entfernen und verwalten Unterbefehl.

Der folgende Befehl startet einen Docker-Container basierend auf dem CentoOS-Image. Wenn Sie das Bild nicht lokal haben, wird es zuerst heruntergeladen:

docker container run centos

Auf den ersten Blick mag es Ihnen scheinen, als wäre überhaupt nichts passiert. Nun, das stimmt nicht. Der CentOS-Container stoppt sofort nach dem Hochfahren, da er keinen lang andauernden Prozess hat und wir keinen Befehl angegeben haben, also startete der Container, führte einen leeren Befehl aus und wurde dann beendet.

Der Schalter -it ermöglicht es uns, über die Befehlszeile mit dem Container zu interagieren. Um einen interaktiven Container zu starten, geben Sie Folgendes ein:

docker container run -it centos /bin/bash

Wie Sie der Ausgabe entnehmen können, ändert sich nach dem Start des Containers die Eingabeaufforderung, was bedeutet, dass Sie jetzt aus dem Container heraus arbeiten:

[root@719ef9304412 /]#

Geben Sie Folgendes ein, um laufende Container aufzulisten:

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
Wenn Sie keine laufenden Container haben, ist die Ausgabe leer.

Um sowohl laufende als auch angehaltene Container anzuzeigen, übergeben Sie ihm den -a Schalter:

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

Um einen oder mehrere Container zu löschen, kopieren Sie einfach die Container-ID (oder IDs) von oben und fügen Sie sie nach dem container rm ein Unterbefehl:

docker container rm c55680af670c

Cent OS
  1. So installieren und verwenden Sie TensorFlow unter CentOS 7

  2. So installieren Sie Docker unter CentOS 8

  3. So installieren und verwenden Sie Docker unter Ubuntu 18.04

  4. So installieren und verwenden Sie Docker Compose unter CentOS 7

  5. So installieren und verwenden Sie Docker Compose unter CentOS

So installieren und verwenden Sie TermRecord unter CentOS 8

So installieren Sie Docker unter CentOS 7

So installieren und verwenden Sie Traceroute unter CentOS 7

So installieren Sie Docker unter CentOS 8

So installieren und verwenden Sie Docker unter Ubuntu 20.04

So installieren und verwenden Sie Docker unter CentOS 8