Docker Compact-Handbuch (1: Basic / Basic-Befehle)

Der Grund für den Artikel

Docker, das in der Entwicklung selbstverständlich verwendet wird Die verwendeten Befehle sind jedoch begrenzt, und der Mechanismus von "Docker" und die zu behandelnden Angelegenheiten sind Es scheint bekannt zu sein, aber nicht.

Sobald es um "Docker" geht, werden die Lerninhalte für jeden Gegenstand zusammengefasst ** Kompaktes Handbuch für Docker-Arbeiten ** Ich wollte es behalten als.

Postleitzahl Untertitel und Zugriffsziel
1 Grundlegende / grundlegende Befehle(* Dieser Beitrag)
2 Mount- und Datenpersistenz
3 docker-compose
4 Erstellen Sie ein benutzerdefiniertes Bild

Wenn Sie Fehler oder Hinweise finden, würden wir uns freuen, wenn Sie darauf hinweisen könnten. Wenn Sie es hilfreich finden, wäre ich Ihnen dankbar, wenn Sie ** LGTM </ font> ** könnten.

Zweck dieses Artikels

Was ist "Docker" in diesem Artikel? Von bis Grundoperationen werden zusammengefasst.

Was ist Docker? Was sind die Vor- und Nachteile?

Denken Sie zunächst darüber nach, was "Docker" ist. Offensichtlich ist "Docker" eine typische Software, die Container realisiert. Obwohl es Artikel gibt, die in verschiedenen technischen Büchern und Materialien beschrieben sind, Mit einem Wort, gewaltsam

"Bereitstellung einer isolierten Ausführungsumgebung, die sich mithilfe der Containertechnologie nicht gegenseitig beeinflusst"

Ich denke es kann gesagt werden.

Vorteile von Docker

  • Da die Umgebung isoliert ist, ist in jedem Container eine Entwicklung möglich
  • Einfaches Kopieren des Containers und Ausführen auf einem anderen Server (hohe Portabilität)
  • Sie können dieselbe Umgebung (Container) erstellen, solange Sie einen PC mit installierter Docker Engine haben.

Nachteile von Docker

Es gibt nicht viele, aber wir werden die Nachteile durch Vergleich überprüfen.

  1. Funktioniert nur auf Linux-Systemen
  2. Keine vollständige Trennung. Obwohl es einen Mechanismus gibt, um die CPU-Auslastungsrate und den Speicherverbrauch so zu begrenzen, dass es nicht von anderen Containern beeinflusst wird. Es ist nicht perfekt und es wird nicht wie ein virtueller Server emuliert, also ist es in "Docker Engine" Grundsätzlich besteht bei einer Sicherheitslücke die Gefahr, dass sich das isolierte Teil löst.

Docker-Konfiguration

Docker ist ein Vertreter der Software, die die Containerumgebung realisiert. Docker ist eine Software, die unter Linux läuft. Wenn Sie "Docker Engine" unter Linux installieren, können Sie "Docker Container" ausführen. Unter Mac und Windows kann es ausgeführt werden, indem eine Software namens "Docker Desktop" installiert wird. Durch die Installation von Docker Desktop wird das Linux-Subsystem installiert und verwendet.

Docker-Container

Der Docker-Container ist das ursprüngliche "Docker-Bild" (* kann als Bild unten ausgedrückt werden) Beziehen Sie es aus einer Registrierung wie "Docker Hub" oder verwenden Sie "Dockerfile" Stellen Sie die erforderlichen Daten in das Arbeitsverzeichnis und erstellen Sie Ihr eigenes benutzerdefiniertes Bild Es gibt zwei Hauptmethoden: Eine besteht darin, einen Docker-Container zu erstellen.


Fassen wir die Operation zusammen.

Grundlegende Bedienung von Docker

Ablauf vom Anfang bis zum Ende des Containers
(Beispielerstellung mit Apache-Image mit Docker Hub)

スクリーンショット 2020-09-22 11.30.32.png

Verfahren

  1. Docker ziehen httpd (ein Image von Docker Hub, einem Docker-Repository, abrufen) Der Inhalt der folgenden Website.   Apache / httpd
  2. Docker erstellen (Container erstellen)
  3. Docker starten (Container starten)
  4. Docker Stop (Container Stop)
  5. Docker rm (Container löschen)
  6. Docker-Bild rm (Bild löschen)

Hierbei handelt es sich um eine Reihe von Flows. Es ist jedoch üblich, die Ausführung von der Bilderfassung bis zur sofortigen Ausführung mit Docker-Lauf auszuführen. Daher basiert die folgende Erklärung auf der Annahme, dass der Docker-Lauf verwendet wird.

Optionen zum Erstellen und Starten von Docker-Containern

Es gibt einige Startoptionen, die Sie häufig beim Erstellen eines Docker-Ausführungscontainers verwenden.

Optionsname Inhalt
-d Modus abnehmen. Hintergrundausführung vom Containerterminal getrennt
-i Interaktiver Modus. Containerverbindung von Standardeingabe / -ausgabe und Standardfehlerausgabe
-t Pseudo-Terminal(pseudo-tty)Zuweisen.
Ein Terminal, das das Bewegen des Cursors, das Löschen von Zeichen und die Eingabe von Zeichen wie Strg unterstützt.
--name Geben Sie dem Container einen Namen. Wenn nicht angegeben, ist der Containername zufällig.
-p Portnummern zuordnen
(Host-Portnummer:Container-Portnummer)
-v volume:Das Volumen bezieht sich auf Daten, die beibehalten werden können.
Mounten Sie ein Volumen von Containerdaten
(Hostverzeichnis: Containerverzeichnis)
-rm Option zum Zerstören des Containers nach Abschluss der Ausführung
Es ist praktisch, es als Container für den Testbetrieb festzulegen.
-dit, -it Spezifikation und anhängen / trennen

--- Wenn ja, ist es mit dem Docker-Container verbunden (führt das Programm im Container aus) --- Wenn es dit ist, wird das Programm des Docker-Hosts ausgeführt (der Container läuft hinter den Kulissen) --Attach ist eine Docker-Containerverbindung --Detach ist eine Verbindung wie ein Programm (Shell) des Docker-Hosts und nicht mit dem Docker-Container verbunden. --- Sie können durch Drücken von [STRG] + [P], [STRG] + [Q] zum Trennen auf Trennen umschalten.

Wenn kein Name angegeben wird (es wird ein zufälliger Containername und schwer zu verwalten)

スクリーンショット 2020-10-27 0.02.21.png

Das Verhalten der Option -p

Akzeptiert die Anfrage vom Browser, Host 8080 wird geöffnet und über Container 80 Sie gelangen zu den öffentlichen Einstellungen von Apache. スクリーンショット 2020-09-22 12.09.37.png

Das Verhalten der Option -v

Ich mounte das aktuelle Verzeichnis des Hosts auf dem Container. (* Ich möchte den Mount in Handbuch 2 noch einmal erläutern.
Dies ist ein Backup-Image.)
In diesem Fall kann es als Umgebungsvariable mit "$ PWD" angegeben werden. Beispiel: -v" $ PWD ": / usr / local / apache2 / htdocs

スクリーンショット 2020-09-22 12.30.06.png

Mit anderen Worten lautet der Befehl mit der obigen Erklärung wie folgt.

docker run --name my-apache-app -dit -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4

Containerwartung

Sie können eine Verbindung zum Container herstellen und Wartungsarbeiten mit den folgenden zwei Befehlstypen durchführen.

Befehl Containerzustand Zustand am Ende der Schale Befehlsbeispiel
docker run Anhalten Ende des Behälters docker run --name my-apache-app -it httpd:2.4 /bin/bash
docker exec Während der Operation Bleiben Sie in Betrieb docker exec -it my-appache-app /bin/bash

In den meisten Fällen sollten Sie Docker Exec verwenden. Wenn Sie den obigen Befehl ausführen, können Sie ihn unten in bash einfügen.

docker exec -it my-apache-app bash
❯ docker exec -it my-apache-app bash
root@8c72c18e9169:/usr/local/apache2# ls -a
.  ..  bin  build  cgi-bin  conf  error  htdocs  icons	include  logs  modules

Dieser Artikel endet hier. Danke fürs Lesen.

Recommended Posts

Docker Compact-Handbuch (1: Basic / Basic-Befehle)
Docker-Grundbefehl
Docker Compact Manual (3: Docker-Compose)
Memorandum Docker-Befehl
Docker Compact-Handbuch (2: Mount und Datenpersistenz)
Docker-Befehlsübersicht
Docker-Befehlsmemorandum
Docker Compact Manual (4: Erstellen eines benutzerdefinierten Bildes)
Docker Machine-Befehlsnotiz
Docker-Fehler Löschbefehl
Docker Befehl persönliche Zusammenfassung
Docker Befehl Spickzettel
[Docker] Einführung in die grundlegende Docker-Anweisung
Demontage des Docker-Ausführungsbefehls. .. ..