So installieren, Ausführen und Löschen von Anwendungen in Docker -Containern - Teil 2
- 3931
- 538
- Henry Liebold
Nach dem vorherigen Docker Artikel, in diesem Tutorial wird erläutert Nginx Webserver in einem Container.
Anforderungen
- So installieren Sie Docker und führen Sie Container in CentOS/RHEL 8/7 - Teil 1 aus
So rennen und speichern Sie einen Docker -Container
1. In diesem Beispiel werden wir rennen und eine speichern Ubuntu basiert Docker -Container wo der nginx Der Server wird installiert. Bevor Sie jedoch Änderungen an einem Container festlegen, starten Sie zuerst den Container mit den folgenden Befehlen, die aktualisiert und installiert werden Nginx Dämon in Ubuntu Bild:
# DOCKER Führen Sie Ubuntu Bash -c "APT -Get -y -Update" # Docker Run Ubuntu Bash -c "Apt -Get -y Install nginx" ausInstallieren Sie Nginx in Ubuntu Docker -Container
Wenn Sie Fehler erhalten 'E: Package Nginx kann nicht lokalisiert werden', dann müssen Sie eine Verbindung zu einem Container mit interaktivem CLI herstellen und Nginx wie gezeigt installieren.
# Docker Run -it Ubuntu Bash # APT Install nginx #
2. Als nächstes nach Nginx Das Paket ist installiert, geben Sie den Befehl aus Docker ps -l
um das zu bekommen AUSWEIS oder Name des laufenden Behälters.
# Docker ps -lFinden Sie Docker Container -ID -Name
Und wenden Sie Änderungen an, indem Sie den folgenden Befehl ausführen:
# Docker Commit 5976E4AE287C Ubuntu-nginx
Hier, 5976E4AE287C
repräsentiert den Behälter AUSWEIS
Und Ubuntu-nginx
repräsentiert den Namen des neuen Bildes, das mit engagierten Änderungen gespeichert wurde.
Um anzuzeigen, ob das neue Bild erfolgreich erstellt wurde Dockerbilder
Der Befehl und eine Auflistung aller gespeicherten Bilder werden angezeigt.
# Docker -BilderDocker -Containeränderungen
Es besteht die Möglichkeit, dass der Installationsprozess im Container schnell endet, was zu einem nicht laufenden Behälter führt (Container wird gestoppt). In diesem Fall die Docker PS
Der Befehl wird keine Ausgabe angezeigt, da kein Container ausgeführt wird.
Um den ID des Containers noch ausführen zu können Docker ps -a | Kopf -3
Um die jüngsten Container auszugeben und den Container basierend auf dem ausgestellten Befehl zu identifizieren, um den Container und den beenden Status zu erstellen.
3. Alternativ können Sie durch Laufen aktiv Containersitzungen eingeben Docker Run -it Ubuntu Bash
Befehl und führen die weiter aus APT-GET-Installieren Sie Nginx
Befehl. Während der Befehl läuft, lösen Sie sich vom Container aus Strg-P + Strg-Q
Tasten und der Container werden weiter ausgeführt, auch wenn der Nginx -Installationsprozess abgeschlossen ist.
# Docker Run -it Ubuntu Bash # APT -Get Install nginxInstallieren Sie Nginx am Docker -Container
Holen Sie sich dann die laufende Container -ID mit Docker PS
und Veränderungen begehen. Wenn Sie fertig sind, gehen Sie mit der Containerkonsole ein Docker anhängen
und Typ Ausfahrt
um den Behälter zu stoppen.
# Docker PS # Docker Anhang 3378689f2069 # BeendenDocker Container anhängen
4. Um weiter zu testen, ob das jüngste Bild ordnungsgemäß begangen wurde (in diesem Fall Nginx Der Dienst wurde installiert) und führt den folgenden Befehl aus, um einen neuen Container zu generieren, der ausgegeben wird, wenn Nginx -Binärin erfolgreich installiert wurde:
# Docker Führen Sie Ubuntu-nginx aus, wobei nginxGenerieren Sie einen neuen Docker -Container
5. Um einen Behälter zu entfernen, verwenden Sie die rm
Befehl gegen eine Container -ID oder einen Namen, der mit Verwendung erhalten werden kann Docker ps -a
Befehl:
# Docker PS -a # Sudo Docker RM 36488523933aEntfernen Sie den Docker -Container
So führen Sie Nginx im Docker -Container aus
6. In diesem Teil konzentrieren wir uns darauf, wie Sie einen Netzwerkdienst ausführen und zugreifen können, wie z Nginx Webserver, in Docker, mit dem Ubuntu-nginx
Bild, das früher erstellt wurde, wo der Nginx -Daemon installiert wurde.
Das erste, was Sie tun müssen, ist, einen neuen Container, einen Karten-Host-Container-Ports zu erstellen und die Container-Shell einzugeben, indem Sie den folgenden Befehl ausgeben:
# Docker Run -it -p 81:80 Ubuntu -nginx /bin /bash # nginx &
Hier das -P
Die Option zeigt den Host -Port dem Containerport aus. Während der Host -Port willkürlich sein kann, muss der Container -Port genau der Port sein, den der Insider -Daemon hört.
Sobald Sie mit der Containersitzung verbunden sind, starten Sie Nginx Daemon im Hintergrund und Ablösung von der Containerkonsole durch Drücken Strg-P + Strg-Q
Schlüssel.
7. Jetzt renn Docker PS
Um den Zustand Ihres laufenden Containers zu erhalten. Sie können auch Host Network Sockets anzeigen, indem Sie den folgenden Befehl ausgeben:
# Docker PS oder # Netstat -tlpnDocker -Container -State anzeigen
8. Um die vom Nginx -Container servierte Seite zu besuchen, öffnen Sie einen Browser von einem Remote -Standort in Ihrem LAN und geben Sie die IP -Adresse Ihres Computers mit dem HTTP -Protokoll ein.
Überprüfen Sie, ob Nginx unter Docker -Container ausgeführt wird9. Um den Container zu stoppen, führen Sie den folgenden Befehl aus, gefolgt von Container -ID oder Namen:
# Docker PS # Docker Stop fervent_mccarthy # docker psHören Sie auf, den Docker -Container auszuführen
Als Alternative zum Stoppen des laufenden Containers geben Sie die Eingabeaufforderung der Container -Shell ein und geben Sie den Ausgang ein, um den Vorgang zu beenden:
# Docker Anhang fervent_mccarthy # exit
Beachten Sie, dass die Verwendung dieser Art von Container zum Ausführen von Webservern oder anderen Arten von Diensten am besten für Entwicklungszwecke oder Tests am besten geeignet ist, da die Dienste nur aktiv sind, während der Container ausgeführt wird. Das Verlassen des Containers stört alle laufenden Dienste oder Änderungen vor, die vorgenommen wurden.
Weitere Lektüre:
Teil 3: Erstellen und konfigurieren Sie Docker -Bilder automatisch mit Dockerfile auf CentOS/Rhel 8/7 Teil 4: Wie man Docker -Container unter Linux überwacht