Beste Möglichkeit, den Host dazu zu bringen, einen Docker-Container aus einem anderen Docker-Container heraus neu zu starten?

Beste Möglichkeit, den Host dazu zu bringen, einen Docker-Container aus einem anderen Docker-Container heraus neu zu starten?

Ich habe einen Docker-Container, der alle SSL-Zertifikate für meine Dienste mit Letsencrypt verwaltet. Wenn das Zertifikat für einen bestimmten Dienst erneuert wird, kopiert ein Post-Hook-Skript das Zertifikat und den Schlüssel in den Ordner, in dem sich das SSL-Zertifikat und der Schlüssel für die anderen Containerverwendungen befinden. Dieser andere Container muss dann neu gestartet werden, um das neue, erneuerte Zertifikat zu verwenden. Meine aktuelle Lösung besteht darin, den Docker-Host dem Letsencrypt-Container wie folgt in Docker Compose zugänglich zu machen:

    extra_hosts:
      - "host.docker.internal:host-gateway"

und ich kann dann meinen privaten SSH-Schlüssel im Letsencrypt-Container platzieren und den Befehl „Docker Compose“ ausführen, um den anderen Container von einer SSH-Sitzung im Post-Hook-Skript aus neu zu starten.

Mir ist jedoch bewusst, dass dies nicht ideal ist, da es Root-Zugriff auf den Docker-Host vom Letsencrypt-Container aus ermöglicht, was nicht gut wäre, wenn dieser kompromittiert würde.

Meine Frage lautet: Gibt es eine bessere Möglichkeit, den Docker-Host dazu zu bringen, einen Container aus einem anderen Container heraus neu zu starten?

verwandte Informationen