Android

Installieren und Verwenden von Docker auf Centos 7

What is OpenShift?

What is OpenShift?

Inhaltsverzeichnis:

Anonim

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

In diesem Tutorial erfahren Sie, wie Sie Docker CE unter CentOS 7 installieren und die grundlegenden Docker-Konzepte und -Befehle kennenlernen.

Voraussetzungen

Stellen Sie vor dem Fortfahren mit diesem Lernprogramm sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • CentOS 7-ServerSie sind als Nicht-Root-Benutzer mit Sudo-Berechtigungen angemeldet. In diesem Handbuch 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. Die empfohlene Vorgehensweise besteht darin, Docker aus den Docker-Repositorys zu installieren.

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

  1. Aktualisieren Sie zunächst Ihre Systempakete und installieren Sie die erforderlichen Abhängigkeiten:

    sudo yum update sudo yum install yum-utils device-mapper-persistent-data lvm2

    Führen Sie als Nächstes den folgenden Befehl aus, um das stabile Docker-Repository zu Ihrem System hinzuzufügen:

    sudo yum-config-manager --add-repo

    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

    Starten Sie nach der Installation des Docker-Pakets den Docker-Daemon und aktivieren Sie ihn für den automatischen Start beim Systemstart:

    sudo systemctl start docker sudo systemctl enable docker

    So überprüfen Sie, ob der Docker-Dienst ausgeführt wird:

    sudo systemctl status docker

    Die Ausgabe sollte ungefähr 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

    Zum Zeitpunkt des Schreibens ist die aktuelle stabile Version von Docker der 18.06.1 , um den Docker-Versions-Typ zu drucken:

    docker -v

    Docker version 18.06.1-ce, build e68fc7a

Ausführen des Docker-Befehls ohne Sudo

Standardmäßig erfordert Docker Administratorrechte. Wenn Sie Docker-Befehle als Benutzer ohne Rootberechtigung ohne vorangestelltes sudo ausführen möchten, müssen Sie Ihren Benutzer der Docker-Gruppe hinzufügen, die während der Installation des Docker CE-Pakets erstellt wird. Sie können dies tun, indem Sie Folgendes eingeben:

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 Sie Docker-Befehle ohne sudo ausführen können, geben Sie den folgenden Befehl ein, mit dem ein Test-Image heruntergeladen, in einem Container ausgeführt, eine "Hello from Docker" -Nachricht gedruckt und beendet wird:

docker container run hello-world

Die Ausgabe sollte folgendermaßen 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 eine funktionierende Docker-Installation haben, gehen wir die grundlegende Syntax der Docker-CLI durch.

Die Docker-Befehlszeile hat die folgende Form:

docker

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

docker

docker --help

Docker-Bilder

Ein Docker-Image besteht aus einer Reihe von Ebenen, die Anweisungen in der Docker-Datei des Images darstellen, aus denen eine ausführbare Softwareanwendung besteht. 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 eine Momentaufnahme eines Docker-Containers.

Der Docker Hub ist ein Cloud-basierter Registrierungsdienst, mit dessen Hilfe unter anderem die Docker-Images in einem öffentlichen oder privaten Repository gespeichert werden.

Verwenden Sie den Unterbefehl "Suchen", um im Docker Hub-Repository nach einem Bild zu search . Um beispielsweise nach dem CentOS-Image zu suchen, führen Sie Folgendes aus:

docker search centos

Die Ausgabe sollte folgendermaßen aussehen:

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

Wie Sie sehen, wird in den Suchergebnissen eine Tabelle mit den fünf Spalten NAME , DESCRIPTION , STARS , OFFICIAL und AUTOMATED . Das offizielle Image ist ein Image, das Docker in Zusammenarbeit mit vorgelagerten Partnern entwickelt.

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

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 ungefähr 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 dem Unterbefehl image rm tun:

docker image rm centos

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

Docker-Behälter

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

Dies ist möglicherweise nicht der am besten geeignete Vergleich. Wenn Sie jedoch Programmierer sind, können Sie sich ein Docker-Image als Klasse und einen Docker-Container als Instanz einer Klasse vorstellen.

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

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 scheint es Ihnen, dass überhaupt nichts passiert ist. Nun, das stimmt nicht. Der CentOS-Container wird sofort nach dem Booten gestoppt, da kein langer Prozess ausgeführt wird und wir keinen Befehl angegeben haben. Daher wurde der Container gebootet, ein leerer Befehl ausgeführt und dann beendet.

Mit dem Schalter -it können wir über die Befehlszeile mit dem Container interagieren. So starten Sie einen interaktiven Containertyp:

docker container run -it centos /bin/bash

Wie Sie an der Ausgabe sehen können, nachdem der Container gestartet wurde, wurde die Eingabeaufforderung geändert, was bedeutet, dass Sie jetzt innerhalb des Containers arbeiten:

#

Um laufende Container aufzulisten, geben Sie Folgendes ein:

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.

Übergeben Sie die -a um sowohl laufende als auch angehaltene Container anzuzeigen:

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 Unterbefehl container rm :

docker container rm c55680af670c

Fazit

Sie haben gelernt, wie Sie Docker auf Ihrem CentOS 7-Computer installieren und Docker-Images herunterladen und Docker-Container verwalten. Vielleicht möchten Sie auch mehr über Docker Compose erfahren, mit dem Sie Docker-Anwendungen für mehrere Container definieren und ausführen können.

Dieses Tutorial kratzt kaum an der Oberfläche des Docker-Ökosystems. In einigen unserer nächsten Artikel werden wir uns weiter mit anderen Aspekten von Docker befassen. Weitere Informationen zu Docker finden Sie in der offiziellen Docker-Dokumentation.

Docker Centos