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

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

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