• 请不要在回答技术问题时复制粘贴 AI 生成的内容
estk
V2EX  ›  程序员

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

  •  
  •   estk · Dec 23, 2022 · 1796 views
    This topic created in 1410 days ago, the information mentioned may be changed or developed.
    定时脚本 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"
    9 replies  •  2022-12-28 16:29:18 +08:00
    markgor
    markgor
    Dec 23, 2022
    1
    我之前也试过很像也是有问题,忘记了是路径还是什么,我不是 docker ,而是直接 nginx reload 。
    后来解决方法是把 nginx reload 还有 CDN 更新的写在 bash 里,通过 post-hook 来调用 bash 就正常
    estk
    estk
    OP
    Dec 23, 2022 via iPhone
    2
    @markgor #1
    你说的有道理,有可能定时任务那个用户没权限
    julyclyde
    julyclyde
    Dec 26, 2022
    3
    容器重启,内容不就复原了吗?
    estk
    estk
    OP
    Dec 26, 2022
    4
    @julyclyde #3
    ssl 证书在宿主机,重启容器才能重新读取 ssl 证书文件,否则上一次启动容器读取的是旧文件
    julyclyde
    julyclyde
    Dec 27, 2022
    5
    @estk 那你应该能收到包含错误信息的邮件
    estk
    estk
    OP
    Dec 27, 2022 via iPhone
    6
    @julyclyde #5
    自签证书,邮件瞎写,而且这个跟 ssl 无关,docker 没被重启而已
    julyclyde
    julyclyde
    Dec 28, 2022
    7
    @estk 你好像没明白我说的邮件是什么意思?
    estk
    estk
    OP
    Dec 28, 2022 via iPhone
    8
    @julyclyde #7
    请教一下,确实没明白
    julyclyde
    julyclyde
    Dec 28, 2022
    9
    @estk 我说的是 crond 发的那个邮件
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1707 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:41 · PVG 07:41 · LAX 15:41 · JFK 18:41
    ♥ Do have faith in what you're doing.