Docker Run gegen Docker-Compose

Docker Run gegen Docker-Compose
Docker ist eine bekannte Open-Source-Plattform und allgemein genutzte Plattform. Es bietet viele Befehlszeilen -Dienstprogramme und Komponenten, um Anwendungen zu erstellen, auszuführen und bereitzustellen, wie z. B. “Docker Run" Und "Docker-Compose”Befehle. Beide Befehle werden verwendet, um die Container zu erstellen und zu starten, um die Anwendungen und andere Microservices zu containern.

Diese Beschreibung wird demonstrieren:

  • Unterschied zwischen "Docker-Run" und "Docker-Compose" in Docker
  • So verwenden Sie "Docker Run" in Docker?
  • So verwenden Sie "Docker-Compose" in Docker?

Unterschied zwischen "Docker Run" und "Docker-Compose" in Docker

Beide "Docker Run" Und "Docker-Compose”Befehle werden für einen ähnlichen Zweck verwendet, um die Container zu erstellen und zu starten, um die Anwendung oder Dienste zu konstruieren. Der Hauptunterschied zwischen diesen beiden Befehlen ist der Befehl „Docker Run“ wird das Bild ausführen, um einen einzelnen Container zu erstellen, und es handelt sich um einen rein terminalbasierten Befehl. Während der Befehl „Docker-compose“ Anweisungen aus dem "Docker-Compose" liest.YML ”-Datei und wird zum Verwalten und Ausführen von Multi-Container-Anwendungen verwendet. Mit anderen Worten, es kann mehr als einen Container gleichzeitig erstellen und ausführen.

So verwenden Sie "Docker Run" in Docker?

Docker “laufenDer Befehl kann gleichzeitig nur einen einzelnen Container erzeugen. Schauen Sie sich die Anweisungen an, um den Docker -Auslaufcontainer zu verwenden, um eine Bewerbung zu docerisieren.

Schritt 1: Machen Sie Dockerfile
Erstellen Sie zunächst eine einfache Dockerfile, die einfache Anweisungen enthält, um die Anwendung zu docken. Zum Beispiel haben wir geschaffen “Main1.Dockerfile"Um die" zu containieren "Main1.gehenGolang Code:

Von golang: 1.8
WorkDir/Go/SRC/App
Main1 kopieren.gehen .
Run Go Build -o -Webserver .
EINSTIEGSPUNKT ["./Webserver "]

Schritt 2: Erstellen Sie ein Bild
Generieren Sie ein neues Bild, indem Sie die Dockerfile verwenden. Hier, "-TGibt den Bildnamen an und "-F”Wird verwendet, um den Namen oder Pfad von Dockerfile zu definieren:

Docker Build -t Go -Image -f Main1.Dockerfile .

Schritt 3: Container erstellen und starten
Als nächstes verwenden Sie die “Docker RunBefehl ”, um die Anwendung mit dem Docker -Bild zu containieren. Der "-D"Flag führt den Container im abgetrennten Modus aus und"-PGibt den lokalen Host -Port an, um den Container aufzudecken:

Docker Run -d -p 8080: 8080 Go -Image

Listen Sie alle Container auf, um zu prüfen, ob der Container erstellt wird, und um den Port auszuführen oder nicht:

Docker ps -a

Alternativ können Sie den zugewiesenen Port des lokalen Hosts besuchen, um zu überprüfen, ob der Container ausgeführt wird oder nicht:

So verwenden Sie "Docker-Compose" in Docker?

Docker Compose ist ein zentraler Bestandteil der Docker -Lösung, die zum Betrieb und Verwalten von Multi -Container -Projekten und -Diensten verwendet wird. Der "Docker-ComposeDer Befehl ”liest die Anweisungen aus der Datei komponieren. Starten Sie dann die Dienste, indem Sie die Container erstellen und ausführen.

Um das zu nutzenDocker-ComposeIn Docker gehen Sie das angegebene Verfahren durch.

Schritt 1: Erstellen Sie „Docker-Compose.YML -Datei
Erstellen Sie zunächst eine Datei namens “Docker-Compose.YMLDatei und konfigurieren Sie die für die Ausführung erforderlichen Dienste. Zum Beispiel haben wir die folgenden Konfigurationen konfiguriert:

  • Dienstleistungen"Konfiguriert zwei verschiedene Dienste"Netz" Und "Web2”.
  • Der "Web" -Dienst verwendet den "hauptsächlich.Dockerfile"Um die" zu containieren und zu laufen "hauptsächlich.gehen" Programm.
  • Der "Web2" -Dienst verwendet den "Main1.Dockerfile"Um die" zu docken und auszuführen "Main1.gehen" Programm.
  • HäfenDer Schlüssel wird verwendet, um den exponierenden Port für den Container anzugeben. In unserem Szenario weist Docker den "Web2 -Dienst" automatisch den Expositionsport zu, und der "Web2" -Dienst wird auf Port 8080 ausgesetzt:
Version: "Alpine"
Dienstleistungen:
Netz:
bauen:
Dockerfile: Main.Dockerfile
Befehl: ["./Webserver "]
Häfen:
- 8080
Web2:
bauen:
Dockerfile: Main1.Dockerfile
Häfen:
- 8080: 8080

Schritt 2: Behälter starten
Starten Sie als Nächstes die Container mit Hilfe des genannten Befehls:

Docker -Compose Up -d

Schritt 3: Listen Sie die Container auf
Listen Sie die Container komponieren und überprüfen Sie, ob definierte Dienste in separaten Containern ausführen oder nicht:

Docker -Compose ps -a

Hier sieht man "Netz”Wird am Port ausgeführt“62689" Und "Web2”Exponiert auf"8080”:

Sie können durch die Überprüfung durch die exponierenden Containerhäfen navigieren:

Es kann beobachtet werden, dass wir erfolgreich zwei verschiedene Container gleichzeitig aus der “ausgeführt haben“Docker-Compose" Befehl:

Abschluss

Der "Docker-Compose" Und "Docker Run”Beide Befehle werden ausgeführt, um die Container zu erstellen und auszuführen. Der Schlüsselunterschied zwischen diesen beiden Befehlen ist der Befehl „Docker Run“ erstellt gleichzeitig einen einzelnen Container. „Docker-Compose“ kann jedoch mehrere Container gleichzeitig erstellen, verwalten und ausführen. Diese Beschreibung hat den Hauptunterschied zwischen den Befehlen „Docker-Compose“ und „Docker Run“ gezeigt.