In den letzten Jahren hat Docker als Containerisierungsanwendung Popularität gewonnen. Container bieten die Vorteile virtueller Maschinen ohne den damit verbundenen Overhead.
Mit einem virtuellen Computer können Benutzer ein in sich geschlossenes Betriebssystem auf einem anderen Computer starten. Dies bedeutet, dass Benutzer einen anderen Linux- oder Windows -Computer über ihrem aktuellen Betriebssystem ausführen können. Es ist jedoch ein ressourcenintensiver Prozess.
Jede virtuelle Maschine startet seinen eigenen OS -Kernel, Binärdateien, Bibliotheken und Anwendungen über dem Host -Computer. Container lösen dieses Problem, indem sie den Kernel des Host Machine teilen. Es trennt nur auf Anwendungsebene. Binärdateien und Bibliotheken werden nur bei Bedarf getrennt. Infolgedessen haben Container schnellere Ausführungszeiten und kleinere Fußabdrücke. Docker ist derzeit die beliebteste Container -Technologie.
Installation auf Ubuntu
Voraussetzung
Docker hat eine kostenlose Community -Version namens Docker CE und eine bezahlte Enterprise -Version namens Docker EE. In diesem Artikel konzentrieren wir uns auf die Community -Version.
Docker CE erfordert eine 64-Bit-Version von Ubuntu in einer der folgenden Geschmacksrichtungen:
- Zestisch 17.04
- Xenial 16.04 (LTS)
- Vertrauen 14.04 (LTS)
Sie können viele Befehle als Nicht-Root-Benutzer ausführen. Sie benötigen jedoch Root (Sudo) -Access für einige der Befehle.
Docker installieren
Es gibt mehrere Möglichkeiten, Docker zu installieren. In diesem Tutorial werden wir das Docker -Repository einrichten und Docker CE aus dem Repository installieren. Wir gehen auch davon aus, dass Sie eine saubere Maschine ohne frühere Versionen von Docker haben. Wenn Sie eine frühere Version von Docker haben, deinstallieren Sie bitte die Version, bevor Sie beginnen.
Repository -Setup
1. Aktualisieren Sie Ihr APT-Paket, um sicherzustellen, dass Ihr Betriebssystem auf dem neuesten Stand ist:
2. Installieren Sie die folgenden Pakete:
Software-Properties-Common |
3. Fügen Sie den offiziellen GPG -Schlüssel hinzu
$ curl -fssl https: // herunterladen.Docker.com/linux/ubuntu/gpg | sudo apt-key add - |
Überprüfen Sie den Schlüsselfingerabdruck auf 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. Sie können den folgenden Befehl verwenden:
$ sudo Apt-Key Fingerabdruck 0EBFCD88 |
PUB 4096R/0EBFCD88 2017-02-22 |
Schlüsselfingerabdruck = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
UID Docker Release (CE Deb) |
Sub 4096R/F273FCD8 2017-02-22 |
4. Richten Sie ein stabiles Repository mit Folgendes ein:
$ sudo add-apt-repository \ |
"Deb [Arch = AMD64] https: // herunterladen.Docker.com/linux/ubuntu \ |
Der „Bogen“ definiert die Architektur. Verwenden Sie für x86_64 "arch = amd64". Verwenden Sie für ARMHF "arch = armHF" und für s390x "arch = x390x".
Docker CE Setup
1. Aktualisieren Sie Ihre APT -Pakete:
2. Installieren Sie die neueste Docker CE:
$ sudo apt-Get Install -y Docker-CE |
3. Der obige Befehl sollte Docker installieren und den Daemon starten. Überprüfen Sie, ob der Daemon mit dem folgenden Befehl ausgeführt wird:
$ sudo systemctl Status Docker
Das Ergebnis sollte wie unten aussehen. Der Status "aktiv (lief) bedeutet, dass alles in Ordnung ist.
● Docker.Service - Docker -Anwendung Container Engine |
Laden: geladen (/lib/systemd/system/docker.Service; ermöglicht; Anbieter Voreinstellung: aktiviert) |
Aktiv: aktiv (läuft) seit Sun 2017-08-30 06:53:52 PDT; vor 2 Stunden |
Dokumente: https: // docs.Docker.com |
Verwenden von Docker
Um Docker zu verwenden, müssen Sie 3 Konzepte verstehen:
-
- Docker Hub: Docker Hub ist das Cloud-basierte Repository, in dem Sie alle öffentlichen Docker-Bilder speichern. Sie können hier eine Login auf Docker Hub erstellen: https: // Hub.Docker.com/
- Docker -Bilder: Docker -Bilder sind die blauen Drucke verschiedener Container. Es ist ein Schnappschuss des Containers.
- Docker -Container: Ausführen eines Docker -Images Sie erhalten einen Container. Der Container ist die Arbeitsmaschine, die Sie für Ihre Aufgaben verwenden werden.
Beginnen wir mit der Verwendung von Docker.
Docker -Befehle
Sie können alle Docker -Befehle mit Folgendem anzeigen:
Hier finden Sie alle Docker -Befehle.
Wenn Sie sich über einen bestimmten Befehl informieren möchten, können Sie verwenden:
$ docker target -command -help
wobei „Zielkommand“ der Befehl ist, den Sie untersuchen möchten.
Herunterladen von Docker -Bildern
Docker -Bilder werden von Docker Hub heruntergeladen. Sie müssen sich nicht anmelden, um Bilder herunterzuladen und zu verwenden, aber Sie benötigen eine Anmeldung für das Hochladen von Bildern.
Laden Sie Ihr erstes Docker -Bild mit dem folgenden Befehl herunter:
Die Ausgabe sollte so aussehen:
Im Bild "Hallo-Welt: Neueste" nicht vor Ort finden |
Neueste: Zieh aus der Bibliothek/Hallo-Welt |
B04784fba78d: Pull Complete |
Digest: SHA256: F3B3B28A45160805BB16542C9531888519430E9E6D6FFC09D72261B0D26FF74F |
Status: Neuere Bild für Hello-World: Neueste |
Diese Nachricht zeigt, dass Ihre Installation anscheinend korrekt funktioniert. |
In den obigen Zeilen suchte Docker zuerst nach dem Bild "Hallo-Welt" in Ihrem lokalen Repository. Wenn es "nicht in der Lage war, Bild zu finden", zog es es aus dem Docker -Hub. Dann lief es den Hello-World Container.
Der folgende Befehl zeigt Ihnen verfügbare Bilder auf Docker Hub:
Wir suchten nach "Nginx" -Bildbildern. Die partielle Ausgabe sieht so aus:
Name Beschreibung Sterne offiziell automatisiert |
nginx offizieller Build von Nginx. 6737 [OK] |
JWIRDER/NGINX-PROXY Automated Nginx Reverse Proxy für Docker C… 1099 [OK] |
Richarvey/Nginx-Php-FPM-Container Nginx + PHP-FPM fähig… 429 [OK] |
Alternativ können Sie zu https: // Hub gehen.Docker.com/ und suchen nach Bildern. "Beamter" bezeichnet Versionen, die vom Docker -Team überprüft wurden.
Sie können auch den Befehl „Pull“ verwenden, um Bilder herunterzuladen:
Sie können alle Bilder in Ihrem lokalen Repository mit dem folgenden Befehl anzeigen
Die Ausgabe sollte so aussehen:
Repository -Tag -Bild -ID Erstellte Größe |
Ubuntu neuester ccc7a11d65b1 vor 3 Wochen 120 MB |
nginx letztes B8EFB18F159b vor 5 Wochen 107 MB |
Hello-World Neueste 1815C82652c0 vor 2 Monaten 1.84 KB |
Mit den Bildern aus Ihrem lokalen Repository können Sie einen Container starten. Zum Beispiel können Sie Ihren Nginx -Container aus dem obigen Repository starten.
Auslaufbehälter
Nehmen wir an, wir möchten einen Ubuntu -Container aus dem verfügbaren Ubuntu -Bild erstellen. Sie können den folgenden Befehl verwenden:
Die Option -it gibt den Befehl run an, eine interaktive Shell auszuführen. Sie sehen eine Eingabeaufforderung wie diese:
Dies bedeutet. Sie können alles, was Sie wollen, in diesen Container installieren. Angenommen, Sie möchten Python installieren.
Sie können die Befehle verwenden:
root@6370A8B73050:/# APT-Get Update |
Und
root@6370a8b73050:/# APT -Get Install -y Python3.5 |
Sobald die Installationen erfolgreich sind, haben Sie einen Python-fähigen Ubuntu-Container.
Sie können den Containerstatus jederzeit über die Befehlszeile Ihres Hosts überprüfen ($ Means Host -Eingabeaufforderung und Root@6370A8B73050 Container -Eingabeaufforderung):
Befehl container -ID -Bild erstellt Statusports Namen Namen |
6370a8b73050 Ubuntu "/bin/bash" vor 13 Minuten nach 12 Minuten Cranky_Bassi |
Befehl container -ID -Bild erstellt Statusports Namen Namen |
6370a8b73050 Ubuntu "/bin/bash" vor 13 Minuten hoch 13 Minuten Cranky_Bassi |
6a16d462dd28 Ubuntu "/bin/bash" vor 16 Minuten ausgestoßen (0) vor 15 Minuten jugendlich_pasteur |
In der obigen Ausgabe wird der Befehl PS nur den laufenden Container angezeigt, während PS-Befehl mit der Option "-a" alle Container angezeigt wird.
Behälter als Bilder speichern
Angenommen, Sie möchten Ihren Python -Container als Bild speichern, um es später wiederzuverwenden.
Beenden Sie zuerst den Container:
root@6370a8b73050:/# Exit |
Sie können den Container mit dem folgenden Befehl in Ihrem lokalen Repository speichern:
$ Docker Commit -m "Beschreibung der Änderungen" -Ein Container -Repository/ImageName "Autorname" Containerid
Das Repository ist im Allgemeinen Ihr Benutzername von Docker Hub. So können Sie Ihren Python -Behälter wie folgt speichern:
$ docker Commit -m "Python3.5 Container "-a" Zak H "6370A8B73050 Zakh/Python3.5-fähig |
Wenn Sie Ihre Bilder überprüfen, haben Sie ein Python -Bild in Ihrem Repository:
Repository -Tag -Bild -ID Erstellte Größe |
Zakh/Python3.5-fähige neueste 6ddf31466a89 vor 2 Minuten 196 MB |
Ubuntu neuester ccc7a11d65b1 vor 3 Wochen 120 MB |
nginx letztes B8EFB18F159b vor 5 Wochen 107 MB |
Hello-World Neueste 1815C82652c0 vor 2 Monaten 1.84 KB |
Sie können dieses Bild mit den folgenden Befehlen zum Docker -Hub drücken:
Docker Login -u Benutzername
Docker Push Benutzername/ImageName
Im obigen Fall wird es sein:
Docker Push Zakh/Python3.5-fähig |
Sobald Sie den Container zum Docker -Hub verschieben, können andere das Bild auf ihre Computer herunterladen und den Python3 verwenden.5 Umgebung, die Sie eingerichtet haben.
Aufräumen
Im folgenden Befehl werden Behälter entfernt:
Docker RM Containerid
Im folgenden Befehl werden Bilder aus Ihrem lokalen Repository entfernt:
Docker RMI ImageId
Letzte Worte
Die obige Anleitung bietet Ihnen einen Schritt-für-Schritt-Prozess, mit dem Sie Docker verwenden können, um Ihre Entwicklung zu vereinfachen. Sie können Ihre persönlichen Konfigurationen erstellen, sie als Bilder speichern und mit anderen Benutzern teilen oder die Bilder selbst wiederverwenden. Es beschleunigt den gesamten Entwicklungsprozess.
Erweiterte Themen
- Sie können Dockerfile verwenden, um Bilder aus geschriebenen YAML -Dateien zu erstellen.
- Docker Swarm kann Ihnen helfen, eine große Anzahl von Docker -Knoten zu orchestrieren und zu verwalten.
Verweise:
- https: // docs.Docker.com/motor/installation/linux/docker-ce/ubuntu/
- https: // www.Digitalocean.Com/Community/Tutorials/Anleitungen zur Installation und Nutzung-Docker-on-Ubuntu-16-04
- https: // docker-curriculum.com/
- https: // www.Digitalocean.Com/Community/Tutorials/The-Docker-Ecosystem-Anstroduction-to-Common-Komponenten
- https: // www.Airpair.com/docker/post
- http: // www.ZDNET.com/article/What-is-docker-and-why-is-it-so-so-darn-popular/
- https: // docs.Docker.com/Enterprise/
- https: // docs.Docker.Com/Motor/Schwarm
- https: // docs.Docker.com/motor/referenz/builder/
- https: // docs.Docker.com/motor/reference/commandline/docker/