Einführung in Docker Docker ist eine Open-Source-Container-Engine, mit deren Hilfe Anwendungen schneller bereitgestellt werden können. Docker isoliert die Anwendungs- und Infrastrukturebenen und verwaltet die Infrastruktur wie ein Programm. Durch die Verwendung von Docker können Anwendungen schneller verpackt, getestet und bereitgestellt werden und der Zyklus vom Schreiben bis zum Bereitstellen und Ausführen von Code verkürzt werden. Die Vorteile von Docker sind folgende: 1. Vereinfachen Sie den Prozess Mit Docker können Entwickler ihre Anwendungen und abhängigen Pakete in einen portablen Container packen und diesen dann auf jeder gängigen Linux-Maschine veröffentlichen, um eine Virtualisierung zu erreichen. Docker hat die Art und Weise der Virtualisierung verändert und ermöglicht es Entwicklern, ihre eigenen Ergebnisse zur Verwaltung direkt in Docker einzufügen. Komfort und Geschwindigkeit sind bereits die größten Vorteile von Docker. Aufgaben, die früher Tage oder sogar Wochen dauerten, können heute mit Docker-Containern in Sekunden erledigt werden. 2. Vermeiden Sie die Wahl einer Phobie Wenn Sie Angst davor haben, Entscheidungen zu treffen, sind Sie ein erfahrener Patient. Docker hilft Ihnen beim Verpacken Ihrer Verflechtung! Beispielsweise Docker-Image; das Docker-Image enthält die Betriebsumgebung und Konfiguration, sodass Docker die Bereitstellung mehrerer Anwendungsinstanzen vereinfachen kann. Beispielsweise können Webanwendungen, Backend-Anwendungen, Datenbankanwendungen, Big Data-Anwendungen wie Hadoop-Cluster, Nachrichtenwarteschlangen usw. alle zur Bereitstellung in ein Spiegelbild gepackt werden. 3. Geld sparen Einerseits bedeutet der Beginn des Cloud-Computing-Zeitalters, dass Entwickler nicht länger teure Hardware konfigurieren müssen, um Ergebnisse zu erzielen. Docker hat die Denkweise geändert, dass hohe Leistung ihren Preis haben muss. Durch die Kombination von Docker und Cloud kann der Cloud-Speicherplatz umfassender genutzt werden. Es löst nicht nur das Problem der Hardwareverwaltung, sondern verändert auch die Art der Virtualisierung. Docker-Architektur Docker-Daemon Der Docker-Daemon ist ein Hintergrundprozess, der auf dem Host (DOCKER-HOST) ausgeführt wird. Die Kommunikation kann über den Docker-Client erfolgen. Kunde Der Docker-Client ist die Benutzeroberfläche von Docker, die Benutzerbefehle und Konfigurationsflags akzeptieren und mit dem Docker-Daemon kommunizieren kann. In der Abbildung handelt es sich bei „Docker Build“ und anderen um Docker-bezogene Befehle. Bilder Ein Docker-Image ist eine schreibgeschützte Vorlage, die Anweisungen zum Erstellen eines Docker-Containers enthält. Es ist ein bisschen wie eine Systeminstallations-CD. Sie können die Systeminstallations-CD verwenden, um das System zu installieren. Ebenso können Sie das Docker-Image verwenden, um das Programm im Docker-Image auszuführen. Container Ein Container ist eine ausführbare Instanz eines Images. Die Beziehung zwischen Bildern und Containern ähnelt in gewisser Weise der Beziehung zwischen Klassen und Objekten in der objektorientierten Programmierung. Container können über Docker-API oder CLI-Befehle gestartet, gestoppt, verschoben und gelöscht werden. Registrierung Docker Registry ist ein Dienst zur zentralen Speicherung und Verteilung von Images. Nachdem Sie das Docker-Image erstellt haben, können Sie es auf dem aktuellen Host ausführen. Wenn Sie dieses Image jedoch auf anderen Computern ausführen möchten, müssen Sie es manuell kopieren. Derzeit können Sie Docker Registry verwenden, um das manuelle Kopieren von Bildern zu vermeiden. Ein Docker-Register kann mehrere Docker-Repositorys enthalten, jedes Repository kann mehrere Image-Tags enthalten und jedes Tag entspricht einem Docker-Image. Dies ähnelt etwas dem Warehouse von Maven. Wenn Docker Registry mit dem Warehouse von Maven verglichen wird, kann das Docker-Warehouse als Pfad eines JAR-Pakets und das Image-Tag als Versionsnummer des JAR-Pakets verstanden werden. Docker Registry kann in öffentliches Docker Registry und privates Docker Registry unterteilt werden. Das am häufigsten verwendete Docker-Register ist der offizielle Docker Hub, der auch das Standard-Docker-Register ist. Auf Docker Hub sind viele hervorragende Images gespeichert, die wir mit Docker-Befehlen herunterladen und verwenden können. Docker-Installation Docker ist ein kommerzielles Open-Source-Produkt mit zwei Versionen: Community Edition (CE) und Enterprise Edition (EE). Die Enterprise-Version umfasst einige kostenpflichtige Dienste, die von einzelnen Entwicklern im Allgemeinen nicht genutzt werden. Die folgende Einführung gilt für die Community-Version. Informationen zur Installation von Docker CE finden Sie in der offiziellen Dokumentation. Hier nehmen wir CentOS als Beispiel: 1. Docker erfordert, dass die Kernelversion des CentOS-Systems höher als 3.10 ist Überprüfen Sie Ihre aktuelle Kernelversion mit dem Befehl uname -r Überprüfen Sie die Betriebssystemversion 2. Deinstallieren Sie die alte Version (falls die alte Version installiert wurde) 3. Überprüfen Sie die Yum-Quelladresse 4. Richten Sie die Yum-Quelle ein und aktualisieren Sie den Yum-Paketindex 5. Sie können alle Docker-Versionen in allen Repositorys anzeigen und eine bestimmte Version zur Installation auswählen 6. Docker installieren # yum install docker-ce #Da im Repo standardmäßig nur das stabile Repository aktiviert ist, wird hier die stabile Version 18.03.1 installiert # yum install <FQPN> # Beispiel: yum -y install docker-ce-18.03.1.ce 7. Starten und beitreten des Bootvorgangs 8. Überprüfen Sie, ob die Installation erfolgreich war (das Vorhandensein von Client- und Serviceteilen zeigt an, dass die Docker-Installation und der Start erfolgreich waren). 9. Deinstallieren Sie Docker Allgemeine Docker-Befehle Spiegelbezogene Befehle 1. Suche nach Bildern Mit dem Docker-Suchbefehl können Sie nach im Docker Hub gespeicherten Bildern suchen. Nach der Ausführung dieses Befehls sucht Docker im Docker Hub nach Image-Repositorys, die das Schlüsselwort „tomcat“ enthalten. Die obige Liste enthält fünf Spalten mit folgenden Bedeutungen: - NAME: Der Name des Bild-Repositorys. - BESCHREIBUNG: Beschreibung des Bild-Repositorys. - STARS: Die Anzahl der Sammlungen des Spiegel-Repositorys, die die Popularität des Spiegel-Repositorys angibt, ähnlich wie Stars0 von GitHub - OFFICAL: Gibt an, ob es sich um ein offizielles Repository handelt. Die in dieser Spalte mit [0K] gekennzeichneten Bilder werden vom offiziellen Projektteam der jeweiligen Software erstellt und gepflegt. - AUTOMATISIERT: Gibt an, ob es sich um ein automatisch erstelltes Image-Repository handelt. 2. Laden Sie das Bild herunter Verwenden Sie den Befehl „docker pull“, um das Image aus der Docker-Registrierung herunterzuladen. Nach der Ausführung des Befehls lädt Docker die neueste Version des Tomcat-Images aus dem Tomcat-Repository im Docker Hub herunter. Wenn Sie eine bestimmte Version herunterladen möchten, fügen Sie nach Tomcat einen Doppelpunkt hinzu, um die Version anzugeben, zum Beispiel: docker pull tomcat:7 3. Bilder auflisten Verwenden Sie den Befehl „Docker Images“, um die heruntergeladenen Images aufzulisten Die obige Liste bedeutet Folgendes: - REPOSITORY: Der Name des Repository, zu dem das Image gehört. - TAG: Bild-Tag. Der Standardwert ist „latest“, was „das Neueste“ bedeutet. - BILD-ID: Bild-ID, die die eindeutige Kennung des Bildes angibt. - ERSTELLT: Der Zeitpunkt der Bilderstellung. - GRÖSSE: Bildgröße. 4. Löschen Sie das lokale Image Verwenden Sie den Befehl docker rmi, um das angegebene Image zu löschen Containerbezogene Befehle 1. Erstellen und starten Sie einen Container Verwenden Sie den folgenden Docker-Run-Befehl, um einen Container zu erstellen und zu starten. Dieser Befehl ist der am häufigsten verwendete Befehl und verfügt über viele Optionen. Einige häufig verwendete Optionen sind unten aufgeführt. Option -d: zeigt den Hintergrundvorgang an Option -p: Gibt die Portzuordnung an. --hostPort:ContainerPort Dadurch wird ein Tomcat-Container gestartet. In diesem Beispiel werden docker run zwei Parameter mit den folgenden Bedeutungen hinzugefügt: -d Im Hintergrund ausführen -p Host-Port: Container-Port Hier wird Port 8080 des Containers Port 8080 der virtuellen Maschine zugeordnet. Sie können darauf zugreifen, indem Sie über den mit der virtuellen Maschine gelieferten Browser auf 127.0.0.1:8080 zugreifen oder indem Sie von einer physischen Maschine aus auf die IP-Adresse 8080 (192.168.126.128:8080) der virtuellen Maschine zugreifen. Sie bedeuten alle dasselbe. Besuchen Sie http://Docker-Host-IP:8080/ und Sie sehen die Hauptschnittstelle von Tomcat wie folgt: Es ist zu beachten, dass beim Erstellen eines Containers mit dem Befehl „Docker Run“ zunächst geprüft wird, ob das angegebene Image lokal vorhanden ist. Wenn das Image mit diesem Namen lokal nicht vorhanden ist, lädt Docker das Image automatisch vom Docker Hub herunter und startet einen Docker-Container. 2. Container auflisten Verwenden Sie den Befehl docker ps, um die laufenden Container aufzulisten Um alle Container (einschließlich der gestoppten) aufzulisten, verwenden Sie den Parameter -a. Die Liste enthält 7 Spalten, die Bedeutungen sind wie folgt - CONTAINER_ID: gibt die Container-ID an. - BILD: zeigt den Bildnamen an. - COMMAND: Gibt den Befehl an, der beim Starten des Containers ausgeführt werden soll. - ERSTELLT: Gibt die Erstellungszeit des Containers an. - STATUS: zeigt den Laufstatus des Containers an. „UP“ bedeutet, dass es ausgeführt wird, und „Exited“ bedeutet, dass es gestoppt wurde. - PORTS: gibt die externe Portnummer des Containers an. - NAMEN: gibt den Containernamen an. Der Name wird standardmäßig automatisch von Docker generiert, Sie können ihn jedoch auch selbst mit der Option --name des Befehls „Docker Run“ angeben. 3. Stoppen Sie den Container Verwenden Sie den Befehl „Docker Stop“, um den Container zu stoppen. 4dbf26d1624d ist die Container-ID. Sie können auch Docker Stop verwenden, um den angegebenen Container zu stoppen. 4. Starten Sie einen gestoppten Container Verwenden Sie den Befehl „Docker Run“, um einen Container zu erstellen und zu starten. Für einen gestoppten Container können Sie den Befehl „docker start“ verwenden, um ihn zu starten. 5. Containerprotokolle anzeigen 6. Geben Sie den Container ein Verwenden Sie den Befehl „Docker Exec“, um einen laufenden Docker-Container aufzurufen. Wenn der Parameter -it nicht verwendet wird, wenn der Befehl „Docker Run“ den Container ausführt, muss dieser Befehl zum Aufrufen des Containers verwendet werden. Sobald Sie sich im Container befinden, können Sie Befehle in der Shell des Containers ausführen. Verlassen Sie den Container 7. Löschen Sie den Container Verwenden Sie den Befehl docker rm, um den angegebenen Container zu löschen Mit diesem Befehl können nur gestoppte Container gelöscht werden. Um einen laufenden Container zu löschen, verwenden Sie den Parameter -f. Docker-Virtualisierungsprinzip Vergleich traditioneller Virtualisierungs- und Containertechnologiestrukturen: Herkömmliche Virtualisierungstechnologie implementiert die Virtualisierung auf Hardwareebene, wodurch Systemaufruflinks hinzugefügt werden und es zu Leistungseinbußen kommt. Die Containervirtualisierungstechnologie wird durch die gemeinsame Nutzung des Kernels nahezu ohne Leistungsverlust implementiert. Das könnte Sie auch interessieren:
|
<<: MySQL-Experiment: Verwenden von Explain zur Analyse des Indextrends
>>: JavaScript implementiert Klicken zum Ändern der Bildform (Transformationsanwendung)
Code kopieren Der Code lautet wie folgt: <!DOC...
1. Einreihiger Überlauf 1. Wenn eine einzelne Zei...
Die Wirkung ist wie folgt: Beispiel 1 Beispiel 2:...
Bereitstellen einer Datenbank basierend auf Docke...
Datenblatt /* Navicat SQLite-Datenübertragung Que...
Code kopieren Der Code lautet wie folgt: <!DOC...
Vorwort In diesem Artikel untersuchen wir die Ent...
1. Geben Sie den Befehl mysqld --skip-grant-table...
Lastenausgleich ist ein häufig verwendetes Mittel...
Inhaltsverzeichnis 1. Prinzip des ganz linken Prä...
Vor Kurzem mussten wir eine geplante Migration de...
Dieser Artikel beschreibt die langsame MySQL-Abfr...
Da die Plattform weiter wächst, ist die Forschung...
Das MySQL-Slow-Log ist ein Informationstyp, auf d...
Warum lautet der Titel des Artikels „Imitierte Lu...