Лучший способ заставить хост перезапустить Docker-контейнер изнутри другого Docker-контейнера?

Лучший способ заставить хост перезапустить Docker-контейнер изнутри другого Docker-контейнера?

У меня есть контейнер Docker, который управляет всеми сертификатами SSL для моих служб с помощью Letsencrypt. Когда сертификат для определенной службы обновляется, скрипт post-hook копирует сертификат и ключ в папку, где находятся сертификат SSL и ключ для других контейнеров. Затем этот другой контейнер необходимо перезапустить, чтобы использовать новый обновленный сертификат. Мое текущее решение — предоставить хост Docker контейнеру Letsencrypt, как в docker compose:

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

и затем я могу поместить свой закрытый ключ SSH в контейнер letsencrypt и выполнить команду docker compose, чтобы перезапустить другой контейнер из сеанса SSH в скрипте post-hook.

Однако я понимаю, что это не идеально, поскольку позволяет получить root-доступ к хосту Docker из контейнера letsencrypt, что было бы нехорошо, если бы он был скомпрометирован.

У меня такой вопрос: есть ли лучший способ заставить хост Docker перезапустить контейнер изнутри другого контейнера?

Связанный контент