certbot renew --post-hook "docker restart 容器 ID",容器没自动重启?

2022-12-23 14:53:12 +08:00
 estk
定时脚本 2 个月执行一次:
certbot renew --post-hook "docker restart 容器 ID"

看了 ssl 证书有更新,但是容器没自动重启,以至于容器里调用的 ssl 证书文件还是旧的,https 网页打开提示证书过期,手动执行一下 docker restart 就可以访问 https 网页

--post-hook 参数这样用应该没错吧?

谷歌了一下,貌似这样比较保险:
certbot renew --pre-hook "docker stop container_id" --post-hook "docker start container_id"
893 次点击
所在节点    程序员
9 条回复
markgor
2022-12-23 16:54:46 +08:00
我之前也试过很像也是有问题,忘记了是路径还是什么,我不是 docker ,而是直接 nginx reload 。
后来解决方法是把 nginx reload 还有 CDN 更新的写在 bash 里,通过 post-hook 来调用 bash 就正常
estk
2022-12-23 17:07:29 +08:00
@markgor #1
你说的有道理,有可能定时任务那个用户没权限
julyclyde
2022-12-26 12:39:10 +08:00
容器重启,内容不就复原了吗?
estk
2022-12-26 15:31:38 +08:00
@julyclyde #3
ssl 证书在宿主机,重启容器才能重新读取 ssl 证书文件,否则上一次启动容器读取的是旧文件
julyclyde
2022-12-27 15:00:09 +08:00
@estk 那你应该能收到包含错误信息的邮件
estk
2022-12-27 16:04:09 +08:00
@julyclyde #5
自签证书,邮件瞎写,而且这个跟 ssl 无关,docker 没被重启而已
julyclyde
2022-12-28 09:47:30 +08:00
@estk 你好像没明白我说的邮件是什么意思?
estk
2022-12-28 11:46:49 +08:00
@julyclyde #7
请教一下,确实没明白
julyclyde
2022-12-28 16:29:18 +08:00
@estk 我说的是 crond 发的那个邮件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/904304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX