So installieren, Ausführen und Löschen von Anwendungen in Docker -Containern - Teil 2

So installieren, Ausführen und Löschen von Anwendungen in Docker -Containern - Teil 2

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" aus 
Installieren 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 -l 
Finden 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 -Bilder 
Docker -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 nginx 
Installieren 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 # Beenden 
Docker 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 nginx 
Generieren 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 36488523933a 
Entfernen 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.

Führen Sie Nginx im Docker -Container aus

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 -tlpn 
Docker -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 wird

9. 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 ps 
Hö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