GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Anwendungen in Docker-Containern installieren, ausführen und löschen – Teil 2

Nach dem vorherigen Docker Artikel wird in diesem Tutorial erläutert, wie Sie einen Docker-Container in einem neuen Image speichern, einen Container entfernen und ein Nginx ausführen Webserver in einem Container.

Anforderungen

  • So installieren Sie Docker und führen Container in CentOS/RHEL 8/7 aus – Teil 1

Wie man einen Docker-Container ausführt und speichert

1. In diesem Beispiel werden wir eine Ubuntu-basierte ausführen und speichern Docker-Container, in dem der Nginx Server wird installiert. Bevor Sie jedoch Änderungen an einem Container vornehmen, starten Sie zuerst den Container mit den folgenden Befehlen, die Nginx aktualisieren und installieren Daemon in Ubuntu-Image:

# docker run ubuntu bash -c "apt-get -y update" 
# docker run ubuntu bash -c "apt-get -y install nginx" 

Wenn Sie die Fehlermeldung „E:Paket nginx konnte nicht gefunden werden ‘, dann müssen Sie sich mit einem interaktiven CLI mit einem Container verbinden und nginx wie gezeigt installieren.

# docker run -it ubuntu bash
# apt install nginx
# exit

2. Als nächstes nach Nginx Paket installiert ist, führen Sie den Befehl docker ps -l aus um die ID zu erhalten oder Name des laufenden Containers.

# docker ps -l

Wenden Sie Änderungen an, indem Sie den folgenden Befehl ausführen:

# docker commit 5976e4ae287c ubuntu-nginx

Hier, 5976e4ae287c steht für die ID des Containers und ubuntu-nginx stellt den Namen des neuen Bildes dar, das mit festgeschriebenen Änderungen gespeichert wurde.

Um zu sehen, ob das neue Image erfolgreich erstellt wurde, führen Sie einfach docker images aus Befehl und eine Liste aller gespeicherten Bilder wird angezeigt.

# docker images

Es besteht die Möglichkeit, dass der Installationsvorgang innerhalb des Containers schnell abgeschlossen wird, was zu einem nicht ausgeführten Container führt (Container wird gestoppt). In diesem Fall das docker ps Der Befehl zeigt keine Ausgabe an, da kein Container ausgeführt wird.

Um trotzdem die ID des Containers zu erhalten, führen Sie docker ps -a | head -3 um die neuesten Container auszugeben und den Container basierend auf dem ausgegebenen Befehl zum Erstellen des Containers und dem beendeten Status zu identifizieren.

3. Alternativ können Sie Containersitzungen aktiv eingeben, indem Sie docker run -it ubuntu bash ausführen Befehl und führen Sie den weiteren apt-get install nginx aus Befehl. Während der Befehl ausgeführt wird, trennen Sie den Container mit Ctrl-p + Ctrl-q Schlüssel und der Container wird weiter ausgeführt, auch wenn der Nginx-Installationsprozess abgeschlossen ist.

# docker run -it ubuntu bash
# apt-get install nginx

Rufen Sie dann die laufende Container-ID mit docker ps ab und Änderungen übernehmen. Wenn Sie fertig sind, rufen Sie die Containerkonsole mit docker attach erneut auf und geben Sie exit ein um den Container zu stoppen.

# docker ps
# docker attach 3378689f2069
# exit

4. Um weiter zu testen, ob das aktuelle Image ordnungsgemäß übergeben wurde (in diesem Fall Nginx Dienst installiert wurde), führen Sie den folgenden Befehl aus, um einen neuen Container zu generieren, der ausgegeben wird, wenn die Nginx-Binärdatei erfolgreich installiert wurde:

# docker run ubuntu-nginx whereis nginx

5. Um einen Container zu entfernen, verwenden Sie den rm Befehl gegen eine Container-ID oder einen Namen, der mit docker ps -a abgerufen werden kann Befehl:

# docker ps -a
# sudo docker rm 36488523933a

So führen Sie Nginx im Docker-Container aus

6. In diesem Teil konzentrieren wir uns darauf, wie Sie einen Netzwerkdienst wie Nginx ausführen und darauf zugreifen können Webserver innerhalb von Docker mit ubuntu-nginx Image, das zuvor erstellt wurde, wo der Nginx-Daemon installiert war.

Als erstes müssen Sie einen neuen Container erstellen, Host-Container-Ports zuordnen und die Container-Shell aufrufen, indem Sie den folgenden Befehl ausführen:

# docker run -it -p 81:80 ubuntu-nginx /bin/bash
# nginx &

Hier das -p -Option macht den Host-Port für den Container-Port verfügbar. Während der Host-Port willkürlich sein kann, mit der Bedingung, dass er verfügbar sein sollte (keine anderen Host-Dienste sollten darauf lauschen), muss der Container-Port genau der Port sein, auf den der Inside-Daemon lauscht.

Sobald Sie mit der Containersitzung verbunden sind, starten Sie Nginx Daemon im Hintergrund und trennen Sie sich von der Containerkonsole, indem Sie Ctrl-p + Ctrl-q drücken Tasten.

7. Führen Sie nun docker ps aus um den Status Ihres laufenden Containers abzurufen. Sie können Host-Netzwerk-Sockets auch anzeigen, indem Sie den folgenden Befehl ausführen:

# docker ps
OR
# netstat -tlpn 

8. Um die vom Nginx-Container bereitgestellte Seite zu besuchen, öffnen Sie einen Browser von einem entfernten Standort in Ihrem LAN und geben Sie die IP-Adresse Ihres Computers mithilfe des HTTP-Protokolls ein.

9. Um den Container zu stoppen, führen Sie den folgenden Befehl gefolgt von der Container-ID oder dem Namen aus:

# docker ps
# docker stop fervent_mccarthy
# docker ps

Als Alternative zum Stoppen des laufenden Containers geben Sie die Eingabeaufforderung der Container-Shell ein und geben Sie exit ein, um den Prozess zu beenden:

# docker attach fervent_mccarthy
# exit

Beachten Sie, dass die Verwendung dieser Art von Container zum Ausführen von Webservern oder anderen Arten von Diensten nur 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 unterbricht alle laufenden Dienste oder alle vorgenommenen Änderungen.

Weiterführende Literatur:

Teil 3 :Automatisches Erstellen und Konfigurieren von Docker-Images mit Dockerfile auf CentOS/RHEL 8/7Teil 4 :So überwachen Sie Docker-Container unter Linux
Docker
  1. So erstellen, listen und löschen Sie Docker-Container unter Linux

  2. So installieren und konfigurieren Sie Docker Container unter Rocky Linux 8

  3. Wie führe ich ein Programm in einem Docker-Container aus?

  4. So installieren Sie Docker und stellen einen LAMP-Stack bereit

  5. So führen Sie MySQL in einem Docker-Container aus

Wie man Docker Container auf AlmaLinux 8 installiert und einrichtet

So verwenden Sie Docker Cp zum Kopieren von Dateien zwischen Host und Containern

So führen Sie PHPMyAdmin in einem Docker-Container aus

So führen Sie Grafana in einem Docker-Container aus

So führen Sie Docker-Container aus

Docker-Container auflisten / starten / stoppen / löschen