Docker 自动更新容器最常用、稳定的方式就是使用 Watchtower ——它可以定期检查你的容器镜像是否有新版本,并自动拉取并重启更新。
🔄 给 Emby 和 NPM 加上 Docker 自动更新功能
✅ 一、在 Docker Compose 里加入 Watchtower
在你的 docker-compose.yml
末尾添加以下服务:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
- WATCHTOWER_CLEANUP=true # 清理旧镜像
- WATCHTOWER_POLL_INTERVAL=21600 # 每6小时检查一次(单位秒)
完整结构应该像这样(省略了前面 emby/npm 的内容):
services:
emby:
...
npm:
...
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=21600
✅ 二、启动 Watchtower
docker compose up -d
它会后台运行,自动监控所有容器(包括 Emby 和 NPM),定时检查有没有新镜像,有就自动更新并重启。
⚙️ 可选:只监控指定容器
如果你只想更新 Emby 和 NPM,可以指定名称,例如:
command: --cleanup --interval 21600 emby npm
完整示例:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --cleanup --interval 21600 emby npm
📌 提醒事项
问题 | 说明 |
---|---|
镜像源限制 | 有些镜像国内拉不到,建议搭配阿里云镜像加速 |
更新后配置会丢失吗? | 不会,只要配置挂载的是 volume(如 /config ) |
Emby 升级后需要手动操作吗? | 不需要,数据不变,直接用新版本运行 |
想看更新日志? | 看容器日志:docker logs watchtower |
相关推荐:Emby 定时自动备份方案(Docker版)