gpt4 book ai didi

docker - 有没有办法使docker容器识别更新的证书并重新启动其过程?

转载 作者:行者123 更新时间:2023-12-02 19:31:40 25 4
gpt4 key购买 nike

我仍在学习使用Docker的过程,但是我认为我已经设法构建了一个运行certbot并获得我各个网站的ssl证书的不错的镜像。如果该图像没有看到任何证书,它将发出初始certbot请求,然后使用运行更新命令的单个作业启动crond。

证书本身被卡到映射到/ etc / letsencrypt的命名卷中。

我曾打算将此卷附加到需要访问证书的其他容器上。但是,在我看来,当续订完成时,新的证书文件将显示给那些容器可用,但是应用程序本身不会重新启动或注意到它们。

是否有合理的方法来做到这一点?最初,我认为这可能是一种管理证书的方法,而不必到处都使用ssh / scp脚本,但是我想不出一种使Web应用程序认识到证书已被续订的方法。 。有没有可以使这项工作奏效的技巧或策略,还是这个想法只是死胡同?

最佳答案

一个Docker容器可以控制其他Docker容器...它可以像在命令行上一样启动/重新启动/停止容器以及其他命令。

必须将/var/run/docker.sock挂载到容器中,以使其成为可能,并且对此存在安全性方面的考虑。

然后,可以修改用于更新证书的(cron)作业,以重新启动任何使用共享证书卷的容器,例如:

--renew-hook "/usr/bin/curl --unix-socket /var/run/docker.sock -X POST http:/v1.24/containers/gitea/restart"

请记住,Docker本身还有其他建议,说明如何使用 docker secret功能执行证书(仅在群体模式下可用)。

关于docker - 有没有办法使docker容器识别更新的证书并重新启动其过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50744557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com