Hervorragende Software und praktische Tutorials
Dockers Vergangenheit und Gegenwart
Docker Das Kernkonzept lautet: „Build, Ship, and Run Any App, Anywhere“, d. h. einmal verpacken und überall ausführen.
Wenn wir in der Vergangenheit die Betriebsumgebung einer Anwendung auf dem Server konfigurierten, mussten wir verschiedene Komponenten installieren. Beispielsweise mussten wir in der JavaWeb-Umgebung Tomcat installieren,MySQL Usw. Ganz zu schweigen davon, wie mühsam die Installation und Konfiguration dieser Dinge ist, ist es nicht plattformübergreifend. Wenn wir diese Umgebungen unter Windows installieren, Linux Auch wenn das Betriebssystem nicht betriebssystemübergreifend ist, ist es sehr mühsam, die Anwendung auf einen anderen Server mit demselben Betriebssystem zu übertragen.
Das Aufkommen der Linux-Containertechnologie löste dieses Problem, und Docker wurde auf ihrer Basis entwickelt. Die Anwendung wird im Docker-Container ausgeführt, und der Docker-Container ist auf jedem Betriebssystem konsistent, was plattform- und serverübergreifende Funktionalität ermöglicht. Sie müssen die Umgebung nur einmal konfigurieren und können sie mit einem Klick auf einem anderen Rechner bereitstellen, was den Vorgang erheblich vereinfacht.
Docker-Installation und -Konfiguration
Hier werde ich hauptsächlich die Installation von Docker unter Ubuntu und Windows vorstellen. Sie können nach Installationstutorials für andere Betriebssysteme suchen.
Da die Zugriffsgeschwindigkeit der offiziellen Docker-Website in China nicht gut ist, wird empfohlen, das Image von DaoCloud herunterzuladen, was sehr schnell ist:
Windows
Gehen Sie zunächst zur Docker-Downloadseite:
im Fall von Win10 Wenn Ihr System Windows 10 oder älter ist, laden Sie Docker Toolbox herunter. Klicken Sie nach Abschluss des Downloads auf Weiter, um die Installation abzuschließen.
Beachten:Um Docker unter Windows auszuführen, müssen Sie die Intel Virtual Technology im BIOS aktivieren. Wenn Sie Docker nicht öffnen können und eine Fehlermeldung erhalten, suchen Sie bitte nach entsprechenden Tutorials für Ihr Computermodell.
Ubuntu
- Sie können Docker mithilfe der mit Ubuntu mitgelieferten Installationsquelle installieren. Führen Sie dazu einfach die folgenden beiden Befehle aus:
$ sudo apt-get update
$ sudo apt-get install docker.io
- Der mit seiner eigenen Installationsquelle installierte Docker ist jedoch nicht die neueste Version. Es wird empfohlen, die neueste Version folgendermaßen zu installieren:
$ curl -sSL https://get.daocloud.io/docker | sh
- Nachdem die Installation abgeschlossen ist, können Sie mit dem Befehl „Docker-Version“ die Docker-Versionsinformationen anzeigen.
Beachten:Normalerweise werden die Informationen zu Client und Server angezeigt. Fehlen Serverinformationen, bedeutet dies, dass der Dienst nicht gestartet ist. In diesem Fall müssen Sie ihn mit dem Befehl „service docker start“ starten.
Deinstallieren Sie Docker unter Ubuntu
Wenn Sie die falsche Version installiert haben, können Sie deinstallieren und neu installieren
$ sudo apt-get remove --purge docker.io
$ rm -rf /var/lib/docker
Docker-Kernkonzepte
Docker verfügt über drei Kernkonzepte:
- Archiv
- Bild
- Container
Dockers Design zur Verwendung von Repositorys zur Verwaltung von Images ähnelt stark Git. Die zu konfigurierende Anwendungslaufzeitumgebung ist das Image, z. B. nginx Wenn das Image nicht lokal verfügbar ist, müssen wir es aus dem Remote-Repository abrufen. Beim Starten des Images wird eine Kopie des Images kopiert und im Container ausgeführt. Wenn wir den Inhalt im Container ändern, können wir ihn auch committen und als neues Image speichern.
Erste Docker-Instanz
Hier nehmen wir Nginx als Beispiel, um den Vorgang des Startens einer Anwendung in Docker zu demonstrieren.
Der Start von Nginx gliedert sich in drei Schritte:
- Nginx-Image abrufen
- Führen Sie den Nginx-Container aus
- Nginx-Port zuordnen
Bild ziehen
Suchen Sie zunächst im offiziellen Docker-Repository nach nginx, suchen Sie das Repository mit dem Wort „official“, klicken Sie darauf und kopieren Sie den Pull-Befehl.
Führen Sie diesen Befehl aus, um das Image auf den lokalen Computer zu übertragen. Führen Sie „Docker Images“ aus, um das lokale Image anzuzeigen.
Tatsächlich ist der Befehl „docker pull nginx“ eine Kurzform. Der vollständige Befehl lautet:
$ Docker Pull registry.hub.docker.com/library/nginx
Der vollständige Befehl fügt die Adresse des Registrierungsservers vor nginx ein. Da dies die Standardadresse von Docker Pull ist, kann die Adresse weggelassen werden.
Warum sage ich das? Weil das Herunterladen von Bildern aus dem offiziellen Repository sehr langsam ist und manchmal nicht funktioniert. Wenn wir die Adresse des Registrierungsservers ändern und durch eine inländische Adresse ersetzen, können wir eine Beschleunigung erreichen.
Spiegelbeschleunigung
In China gibt es zahlreiche Bilddatenbanken. Dieser Artikel stellt die Nutzung der Alibaba Cloud vor. Später erfahren Sie auch, wie Sie Ihre eigenen Bilder in die Alibaba Cloud hochladen können. Dieser Service ist kostenlos.
Besuchen Sie diese Adresse:
Wenn Sie kein Alibaba Cloud-Konto haben, registrieren Sie sich selbst. Auf der obigen Seite sehen Sie Ihre eigene exklusive Beschleunigungsadresse und Installationsmethoden für verschiedene Systeme. Installieren Sie es einfach gemäß der Anleitung.
Führen Sie den Nginx-Container aus
Führen Sie nach dem Abrufen des Images den folgenden Befehl aus, um es zu starten.
$ docker run -d nginx
Dieser Befehl startet nginx im Hintergrund. Ohne -d startet es im Vordergrund. Nach dem Start können wir zunächst noch nicht darauf zugreifen. Wir müssen außerdem den nginx-Port im Container nach außen abbilden, bevor wir darauf zugreifen können.
Nginx-Port zuordnen
$ Docker-Ausführung -d -p 8080:80 nginx
Im Vergleich zum vorherigen Befehl wird nur einer hinzugefügt -P
Parameter, gefolgt vom Port. Hier ordne ich Port 8080 des lokalen Rechners dem Port 80 im Container zu. Wenn Sie localhost:8080 im Browser aufrufen, wird die Willkommensseite von nginx angezeigt.
Grundlegende Operationen an Bildern und Containern
Spiegelbetrieb
- Lokales Bild anzeigen
$ Docker-Images
- Fügen Sie dem Bild Tags hinzu
$ Docker-Tag altes Tag neues Tag
Die neue Tag-Bild-ID ist genau dieselbe wie die ursprüngliche Tag-Bild-ID. Sie verweisen tatsächlich auf dieselbe Bilddatei, jedoch mit unterschiedlichen Aliasnamen.
- Löschen eines Bildes
$ Docker RMI Bild-ID/Bild-Tag
Beachten:Um ein Image zu löschen, müssen Sie zuerst den Container löschen, der das Image verwendet. Sie können das Löschen zwar erzwingen, dies wird jedoch nicht empfohlen. Sie können ein Image auch nach Tag oder ID löschen. Wenn die ID identisch ist, löschen Sie das Image nach Tag.
Containeroperationen
- Anzeigen laufender Container
$ Docker PS
- Stoppen eines laufenden Containers
$ Docker stoppt Container-ID
Die Container-ID muss nicht vollständig eingegeben werden, sofern sie eine Unterscheidung der beiden Container ermöglicht.
- Alle Container anzeigen
$ Docker ps -a
- Löschen eines Containers
$ Docker RM Container-ID
Bevor Sie einen Container löschen, müssen Sie ihn zuerst stoppen.
- Speichern Sie den laufenden Container als Image
$ Docker Commit Container-ID Image-Tag
Besondere Aufmerksamkeit:Wenn Sie den Container ändern, ihn aber nicht als neues Image speichern, werden alle Änderungen nach dem Löschen des Containers nicht gespeichert. Im nächsten Artikel wird ein weiterer Docker-Datenspeicher vorgestellt, der dieses Problem lösen kann. Außerdem kann das Tag nach diesem Befehl weggelassen und nur der Name geschrieben werden. Die Standardeinstellung ist „latest“.
- Betreten des Containers
$ docker exec -it container bash
Der Docker-Container verfügt ebenfalls über ein Linux-ähnliches Dateisystem und kann einige Linux-Befehle verwenden. Um den Container zu verlassen, geben Sie Folgendes ein:
Beachten:Einige Images verfügen nicht über Bash. Wenn Sie beispielsweise docker pull daocloud.io/library/nginx:1.13.8-alpine-perl ausführen, meldet dieser Befehl einen Fehler. In diesem Fall können Sie sh verwenden, um eine Verbindung herzustellen:
$ docker exec -it container /bin/sh
- Dateien in den Container kopieren
$ Docker CP-Datei Container-ID: neue Datei
- Kopieren Sie Dateien im Container nach außerhalb des Containers
$ Docker CP Container-ID:Datei neue Datei
Der Befehl zum Kopieren von Dateien aus dem Container nach außerhalb des Containers wird außerhalb des Containers ausgeführt
Importieren und Exportieren von Bildern und Containern
Importieren und Exportieren von Bildern
- Exportieren eines Bildes
$ Docker speichern -o Name.tar Image-Tag
- Importieren eines Bildes
$ Docker-Laden --Input Name.tar
Importieren und Exportieren von Containern
- Exportcontainer
$ Docker-Export -o Name.tar Container-ID
- Importieren Sie den Container (docker import name.tar image-tag)
Durch das Importieren eines Containers wird dieser tatsächlich in ein Image importiert.
Übertragen Sie Ihr eigenes Image in das Remote-Repository
Lassen Sie uns zunächst verstehen, wie Docker Repositories und Images verwaltet.
Das Warehouse befindet sich auf dem Registrierungsserver. Ein Warehouse verwaltet nur ein Image und ein Image kann mehrere Versionen haben.
Pushen Sie das Image zum Docker Hub
- Greifen Sie auf Docker Hub (Registrierungsserver) zu:
- Wenn Sie kein Konto haben, registrieren Sie selbst eines und klicken Sie dann auf „Repository erstellen“, um auf der folgenden Seite ein Repository zu erstellen.
- Mein Name ist beispielsweise: Webserver, und mein Lagername ist
stormxing/web-server
- Melden Sie sich dann mit dem folgenden Befehl lokal bei Docker Hub an
- Wenn wir das Image in Docker Hub hochladen möchten, muss unser Imagename mit dem Warehouse-Namen übereinstimmen. Dazu können wir ein neues Tag für das Image erstellen. Erstellen wir beispielsweise das Tag „stormxing-webserver“ für das Nginx-Image. Wenn die Version nicht eingetragen ist, wird standardmäßig die neueste Version verwendet.
- Zum Schluss einfach darauf klicken. Nach Abschluss wird Ihr Bild in der Tag-Option auf der Repository-Seite angezeigt.
Übertragen Sie das Bild in das Alibaba Cloud Warehouse
Docker Hub kann zwar Bilder übertragen, die Geschwindigkeit ist jedoch zu niedrig. Es ist besser, schnellere lokale Plattformen zu verwenden. Hier stellen wir Alibaba Cloud vor.
- Melden Sie sich zunächst bei dieser Adresse an, erstellen Sie ein Lager und legen Sie dann das Anmeldekennwort fest:
- Erstellen Sie ein Lager und wählen Sie ein lokales Lager aus
- Abschließend sei bemerkt, dass die Bedienungsanleitung von Alibaba Cloud sehr ausführlich ist und im Wesentlichen mit den oben beschriebenen Schritten übereinstimmt, sodass ich hier nicht näher darauf eingehen werde.
Zusammenfassen
Dieser Artikel stellt hauptsächlich die Rolle von Docker vor.Die drei Kernkomponenten von Docker
Außerdem werden die grundlegenden Vorgänge (Warehouse, Image, Container) vorgestellt und gezeigt, wie Sie Ihr eigenes Image in das Remote-Warehouse übertragen.