Website-Suche

Installieren Sie Docker und lernen Sie die grundlegende Containermanipulation in CentOS und RHEL 8/7 – Teil 1


In dieser aus vier Artikeln bestehenden Serie besprechen wir Docker, ein leichtgewichtiges Open-Source-Virtualisierungstool, das auf der Betriebssystemebene ausgeführt wird und es Benutzern ermöglicht, in kleinen Paketen gekapselte Anwendungen zu erstellen, auszuführen und bereitzustellen Behälter.

Diese Art von Linux-Containern hat sich als schnell, portabel und sicher erwiesen. Die Prozesse, die in einem Docker-Container ausgeführt werden, sind immer vom Haupthost isoliert, wodurch Manipulationen von außen verhindert werden.

Dieses Tutorial bietet einen Ausgangspunkt für die Installation von Docker sowie das Erstellen und Ausführen von Docker-Containern unter CentOS/RHEL 8/7, kratzt aber kaum an der Oberfläche von Docker.

Schritt 1: Docker installieren und konfigurieren

1. Frühere Versionen von Docker wurden docker oder docker-engine genannt. Wenn Sie diese installiert haben, müssen Sie dies tun Deinstallieren Sie sie, bevor Sie eine neuere docker-ce-Version installieren.

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. Um die neueste Version der Docker Engine zu installieren, müssen Sie das Docker-Repository einrichten und das Paket yum-utils installieren, um Docker zu aktivieren stabiles Repository auf dem System.

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. Installieren Sie nun die neuere docker-ce-Version aus dem Docker-Repository und containerd manuell, da Red Hat aufgrund einiger Probleme die Installation blockiert hat von containerd.io > 1.2.0-3.el7, was eine Abhängigkeit von docker-ce ist.

yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli

4. Nachdem das Docker-Paket installiert wurde, starten Sie den Daemon, überprüfen Sie seinen Status und aktivieren Sie ihn systemweit mit den folgenden Befehlen:

systemctl start docker 
systemctl status docker
systemctl enable docker

5. Führen Sie abschließend ein Containertest-Image aus, um zu überprüfen, ob Docker ordnungsgemäß funktioniert, indem Sie den folgenden Befehl ausgeben:

docker run hello-world

Wenn Sie die folgende Meldung sehen, ist alles am richtigen Ort.

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

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

6. Jetzt können Sie ein paar grundlegende Docker-Befehle ausführen, um einige Informationen über Docker zu erhalten:

Für systemweite Informationen zu Docker
docker info

Für Docker-Version
docker version

7. Um eine Liste aller verfügbaren Docker-Befehle zu erhalten, geben Sie „Docker“ auf Ihrer Konsole ein.

docker

Schritt 2: Laden Sie ein Docker-Image herunter

8. Um einen Docker-Container zu starten und auszuführen, muss zunächst ein Image vom Docker Hub auf Ihrem Host heruntergeladen werden. Docker Hub bietet viele kostenlose Bilder aus seinen Repositories.

Um nach einem Docker-Image (z. B. Ubuntu) zu suchen, geben Sie den folgenden Befehl ein:

docker search ubuntu

9. Nachdem Sie entschieden haben, welches Image Sie basierend auf Ihren Anforderungen ausführen möchten, laden Sie es lokal herunter, indem Sie den folgenden Befehl ausführen (in diesem Fall wird ein Ubuntu-Image heruntergeladen und verwendet). ):

docker pull ubuntu

10. Um alle verfügbaren Docker-Images auf Ihrem Host aufzulisten, geben Sie den folgenden Befehl ein:

docker images

11. Wenn Sie ein Docker-Image nicht mehr benötigen und es vom Host entfernen möchten, geben Sie den folgenden Befehl ein:

docker rmi ubuntu

Schritt 3: Führen Sie einen Docker-Container aus

Wenn Sie einen Befehl für ein Bild ausführen, erhalten Sie im Grunde einen Container. Nachdem der Befehl, der im Container ausgeführt wird, endet, stoppt der Container (Sie erhalten einen nicht ausgeführten oder beendeten Container). Wenn Sie einen anderen Befehl erneut im selben Image ausführen, wird ein neuer Container erstellt und so weiter.

Alle erstellten Container bleiben im Host-Dateisystem, bis Sie sie mithilfe des Befehls docker rm löschen.

12. Um einen Container zu erstellen und auszuführen, müssen Sie einen Befehl in ein heruntergeladenes Image ausführen, in diesem Fall Ubuntu. Ein grundlegender Befehl wäre also die Anzeige des Erstellen Sie mithilfe des Befehls cat eine Distributionsversionsdatei im Container, wie im folgenden Beispiel:

docker run ubuntu cat /etc/issue

Der obige Befehl ist wie folgt unterteilt:

docker run [local image] [command to run into container]

13. Um einen der Container erneut mit dem Befehl auszuführen, der zu seiner Erstellung ausgeführt wurde, müssen Sie zunächst die Container-ID (oder den von Docker automatisch generierten Namen) abrufen. indem Sie den folgenden Befehl ausgeben, der eine Liste der laufenden und gestoppten (nicht laufenden) Container anzeigt:

docker ps -l 

14. Sobald die Container-ID abgerufen wurde, können Sie den Container mit dem Befehl, mit dem er erstellt wurde, erneut starten, indem Sie den folgenden Befehl ausgeben:

docker start 923a720da57f

Hier stellt die Zeichenfolge 923a720da57f die Container-ID dar.

15. Falls sich der Container im Ausführungsstatus befindet, können Sie seine ID abrufen, indem Sie den Befehl docker ps ausführen. Um den laufenden Container zu stoppen, geben Sie den Befehl docker stop ein, indem Sie die ID des Containers oder den automatisch generierten Namen angeben.

docker stop 923a720da57f
OR
docker stop cool_lalande
docker ps

16. Eine elegantere Alternative, damit Sie sich die Container-ID nicht merken müssen, wäre, jedem von Ihnen erstellten Container einen eindeutigen Namen zuzuweisen, indem Sie den - verwenden. -name-Option in der Befehlszeile, wie im folgenden Beispiel:

docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. Anschließend können Sie mithilfe des Namens, den Sie dem Container zugewiesen haben, den Container manipulieren (starten, stoppen, entfernen)., top, stats) weiter, indem Sie einfach seinen Namen ansprechen, wie in den folgenden Beispielen:

docker start ubuntu20.04
docker stats ubuntu20.04
docker top ubuntu20.04 

Beachten Sie, dass einige der oben genannten Befehle möglicherweise keine Ausgabe anzeigen, wenn der Befehlsprozess, der zum Erstellen des Containers verwendet wurde, abgeschlossen ist. Wenn der im Container ausgeführte Prozess abgeschlossen ist, stoppt der Container.

Schritt 4: Führen Sie eine interaktive Sitzung in einem Container aus

18. Um eine interaktive Verbindung zu einer Container-Shell-Sitzung herzustellen und Befehle wie in jeder anderen Linux-Sitzung auszuführen, geben Sie den folgenden Befehl ein:

docker run -it ubuntu bash

Der obige Befehl ist wie folgt unterteilt:

  1. -i wird verwendet, um eine interaktive Sitzung zu starten.
  2. -t weist ein TTY zu und hängt stdin und stdout an.
  3. ubuntu ist das Bild, das wir zum Erstellen des Containers verwendet haben.
  4. bash (oder /bin/bash) ist der Befehl, den wir im Ubuntu-Container ausführen.

19. Um die laufende Containersitzung zu beenden und zum Host zurückzukehren, müssen Sie den Befehl exit eingeben. Der Befehl exit beendet alle Containerprozesse und stoppt sie.

exit

20. Wenn Sie interaktiv an der Container-Terminal-Eingabeaufforderung angemeldet sind und den Container im laufenden Zustand halten, aber die interaktive Sitzung beenden müssen, können Sie beenden Öffnen Sie die Konsole und kehren Sie zum Host-Terminal zurück, indem Sie die Tasten Strg+p und Strg+q drücken.

21. Um die Verbindung zum laufenden Container wiederherzustellen, benötigen Sie die ID oder den Namen des Containers. Geben Sie den Befehl docker ps ein, um die ID oder den Namen abzurufen, und führen Sie dann den Befehl docker attachment aus, indem Sie den Container < angeben starke>ID oder Name, wie im Bild oben dargestellt:

docker attach <container id>

22. Um einen laufenden Container in der Hostsitzung zu stoppen, geben Sie den folgenden Befehl ein:

docker kill <container id>

Das ist alles für die grundlegende Containermanipulation. Im nächsten Tutorial besprechen wir, wie man einen Webserver in einem Docker-Container speichert, löscht und ausführt.