Ein Docker-Container startet beim Start beispielsweise einen einzelnen Prozess, beispielsweise einen SSH- oder Apache-Daemon-Dienst. Aber wir müssen oft mehrere Dienste auf einem Computer starten. Dafür gibt es viele Möglichkeiten. Am einfachsten ist es, mehrere Startbefehle in ein Startskript einzufügen und das Skript direkt beim Start zu starten. Eine andere Möglichkeit ist die Installation eines Prozessmanagement-Tools. In diesem Abschnitt wird das Prozessverwaltungstool Supervisor verwendet, um mehrere Prozesse im Container zu verwalten. Mit Supervisor können wir die Prozesse, die wir ausführen möchten, besser steuern, verwalten und neu starten. Hier zeigen wir, wie SSH- und Apache-Dienste gleichzeitig verwendet werden. Konfiguration Erstellen Sie zunächst ein Dockerfile. Inhalt und Bestandteile werden weiter unten erläutert. VON Ubuntu:13.04 MAINTAINER [email protected] RUN echo "deb http://archive.ubuntu.com/ubuntu präzises Hauptuniversum" > /etc/apt/sources.list Führen Sie apt-get update aus. Führen Sie apt-get upgrade -y aus. Installieren Sie SSH, Apache und Supervisor Führen Sie den Befehl apt-get install -y openssh-server apache2 supervisor aus. RUN mkdir -p /var/run/sshd RUN mkdir -p /var/log/supervisor Hier werden 3 Softwareprogramme installiert und 2 Verzeichnisse erstellt, die für den normalen Betrieb der SSH- und Supervisor-Dienste erforderlich sind.
Fügen Sie die Supervisord-Konfigurationsdatei hinzu und kopieren Sie sie in das entsprechende Verzeichnis.
Hier ordnen wir die Ports 22 und 80 zu und starten den Dienst mithilfe des ausführbaren Pfads von supervisord. Inhalt der Supervisor-Konfigurationsdatei [Vorgesetzter] nodaemon=wahr [Programm:sshd] Befehl=/usr/sbin/sshd -D [Programm: Apache2] Befehl = /bin/bash -c "Quelle /etc/apache2/envvars und exec /usr/sbin/apache2 -DFOREGROUND" Die Konfigurationsdatei enthält Verzeichnisse und Prozesse. Der erste Abschnitt, supervsord, konfiguriert die Software selbst und führt sie mit dem Parameter nodaemon aus. Der zweite Abschnitt enthält die 2 zu steuernden Dienste. Jeder Abschnitt enthält ein Dienstverzeichnis und den Befehl zum Starten des Dienstes. Anwendung Erstellen Sie ein Bild.
Starten Sie den Supervisor-Container. $ sudo docker run -p 22 -p 80 -t -i test/supervisords 25.11.2013 18:53:22,312 CRIT Supervisor wird als Root ausgeführt (kein Benutzer in der Konfigurationsdatei) 25.11.2013 18:53:22,312 WARNUNG Beim Parsen wurde die zusätzliche Datei „/etc/supervisor/conf.d/supervisord.conf“ eingefügt. 25.11.2013 18:53:22,342 INFO supervisord gestartet mit pid 1 25.11.2013 18:53:23,346 INFO erzeugt: „sshd“ mit PID 6 25.11.2013 18:53:23,349 INFO erzeugt: „Apache2“ mit PID 7 Verwenden Sie Docker Run, um den von uns erstellten Container zu starten. Verwenden Sie mehrere -p, um mehrere Ports zuzuordnen, sodass wir gleichzeitig auf SSH- und Apache-Dienste zugreifen können. Mit dieser Methode können Sie ein Basisimage nur mit dem SSH-Dienst erstellen und dann Images basierend auf diesem Image erstellen. Der obige Artikel über die Verwendung von Supervisor durch Docker zur Verwaltung von Prozessvorgängen ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen. Das könnte Sie auch interessieren:
|
<<: Nützliche Codes zum Erstellen von Webseiten
>>: Native JS realisiert den besonderen Effekt der Verbreitung von Liebe durch Mausbewegungen
Vorwort Dieser Artikel stellt hauptsächlich die B...
Detaillierte Erklärung zum Erstellen geplanter My...
In diesem Artikel wird der spezifische Code der b...
Standort / { Index Index.jsp; Proxy_next_upstream...
In diesem Artikel wird der spezifische Code von j...
Der Autor stieß kürzlich bei seiner Arbeit auf ei...
Inhaltsverzeichnis Ausgehend von der Typbeurteilu...
1. Allgemeine Verbindungen für MySQL INNER JOIN (...
Detaillierte Beschreibung der Eigenschaften Der Z...
In diesem Artikel wird der spezifische Code von v...
Inhaltsverzeichnis 1. Geben Sie ein Verzeichnis e...
Routenplanung vue-router4 behält den Großteil der...
In MySQL werden die meisten Indizes (wie PRIMARY ...
Umgebung: CentOS 7 Offizielle Dokumentation: http...
Vorwort In einem früheren Projekt wurde die Sorti...