Ist es möglich einen container gestoppt, aus einem anderen container
Gibt es zwei Behältern A und B. Sobald Ein container gestartet wird, ein Prozess ausgeführt wird, dann wird der container zu stoppen. Container B ist nur eine web-Anwendung (sagen expressjs). Ist es möglich die kickstart-Eine aus container B ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich, zu gewähren, ein container den Zugriff auf das Andockfenster, so dass es erzeugen kann andere Container, die auf Ihrem host. Sie tun dies, indem Sie das Andockfenster Buchse im inneren des Behälters, e.g:
Nun, wenn Sie die
docker
- client im container, werden Sie in der Lage, die Kontrolle der docker-daemon auf dem host und verwenden, die zum laichen Ihre "container " Ein".Bevor Sie versuchen, diesen Ansatz, sollten Sie sich bewusst sein, der Sicherheit überlegungen: Zugang zu den docker ist das gleiche wie mit
root
Zugriff auf den host, was bedeutet, dass, wenn Ihre web-Anwendung ein remote-Kompromiss müssen Sie nur übergeben die Schlüssel zu Ihrem host an den Angreifer. Dies ist genauer beschrieben in diesem Artikel.docker
unddocker-compose
in den container. Diedocker-compose
gut laufen in den container. Allerdings brauche ich zum kopieren/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1
von meinem host in den container und dann in den container, ich erstelle einen symlink vonln -sf /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1 /usr/lib/x86_64-linux-gnu/libltdl.so.7
. Im inneren des Behälters:ldd /usr/bin/docker
alle libs sind nun gelöst und ich bin in der Lage zu laufendocker
unddocker-cocmpose
im inneren des Behälters.Ist es möglich, durch die Montage der docker socket.
Container A
Es wird gedruckt, die Zeit, um die stdout (und Ihrer Protokolle) und die Ausfahrt.
Container B
Der trick ist die Montage der host docker socket installieren Sie dann die docker-client auf dem container. Es wird dann die Interaktion mit dem daemon genauso, wenn Sie wurden mit docker vom host. Einmal docker installiert ist, starten Sie einfach Ein container alle 5 Sekunden.
Können Sie sehen, dass contA ist aufgerufen, nach seinen logs
Sagte, Docker ist wirklich bedeutete für die lange Laufenden Dienste. Es gibt einige reden über die Docker github Themen, über die Angabe von kurzer Dauer "job" Dienstleistungen für Dinge wie Wartung, cron-jobs, etc., aber nichts beschlossen worden, viel weniger kodiert. So ist es am besten, um Ihr system zu erstellen, so dass die Container sind oben und bleiben oben.