DockerMehrere Prozesse in einer Containerinstanz


Bemerkungen

Normalerweise sollte jeder Container einen Prozess enthalten. Falls Sie mehrere Prozesse in einem Container benötigen (z. B. einen SSH-Server, um sich bei Ihrer laufenden Containerinstanz anzumelden), könnten Sie die Idee haben, ein eigenes Shellskript zu schreiben, das diese Prozesse startet. In diesem Fall mussten Sie sich um die Behandlung des SIGNAL kümmern (z. B. das Weiterleiten eines erfassten SIGINT an die untergeordneten Prozesse Ihres Skripts). Das ist nicht wirklich das, was du willst. Eine einfache Lösung besteht darin, supervisord als Container-Root-Prozess zu verwenden, der sich um die SIGNAL Verarbeitung und die Lebensdauer der SIGNAL Prozesse kümmert.

Beachten Sie jedoch, dass dies nicht der "Docker-Weg" ist. Um dieses Beispiel auf die Docker-Art zu erhalten, müssen Sie sich beim docker host (der Maschine, auf der der Container ausgeführt wird) anmelden und das docker exec -it container_name /bin/bahs . Dieser Befehl öffnet eine Shell im Container, wie dies bei ssh der Fall ist.

Mehrere Prozesse in einer Containerinstanz Verwandte Beispiele