全面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
注意两点:
- 最上面的
deamon
,保证定时任务能正常执行 - 最后那些环境变量是阿里云的Key和Screct,有这俩才能自动续期
然后如果自动续期挂了呢……也可以手动一键续期:
docker exec acme.sh --renew -d '域名1' -d '域名2' --dns dns_ali --force
虽然在公司每天也都是在和Docker打交道,但日常完全不会遇到这些破事儿……因为只需要写服务就好了。
发表回复