一键更新所有Docker和SSL证书续期


发布于

|

分类

全面Docker化大概有三年了吧,感觉真的比原来啥东西都安装在宿主机上、啥东西都需要手动更新要爽很多。

然而呢,做人嘛,最开心的就是懒,那就懒到底。

一键更新所有 Docker Image

作为一个不更新就立刻会死星人😂更新这件事儿还是要做的。在用Docker之前是写了个自动更新脚本,定时 apt upgrade,用了Docker之后就可以直接

docker images | grep -v ^REPO | sed 's/ +/:/g' | cut -d: -f1,2 | xargs -L1 docker pull
 docker image prune

然后停掉所有Docker,重新再起来就好了。

一键为 Let’s Encrypt 证书续期

这里感谢acme.sh这个神奇的脚本。

首先,在部署acme.sh Docker的时候,要这样写

acme.sh:
     image: neilpang/acme.sh
     container_name: acme.sh
     command: ["daemon"]
     volumes:
       - ./config/acme.sh/internal:/acme.sh
       - ./config/acme.sh/deploy:/etc/letsencrypt
       - /var/run/docker.sock:/var/run/docker.sock
     environment:
       - Ali_Key=XXXXXXXXXX
       - Ali_Secret=XXXXXXXXXX

注意两点:

  1. 最上面的 deamon,保证定时任务能正常执行
  2. 最后那些环境变量是阿里云的Key和Screct,有这俩才能自动续期

然后如果自动续期挂了呢……也可以手动一键续期:

docker exec acme.sh --renew -d '域名1' -d '域名2' --dns dns_ali --force

虽然在公司每天也都是在和Docker打交道,但日常完全不会遇到这些破事儿……因为只需要写服务就好了。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注