使用 Watchtower 自动更新 Docker 容器
Watchtower 是一款开源工具,专为 Docker 平台设计。它可以监控正在运行中的 Docker 容器,并监视这些容器是否有新版本可用。如果 Watchtower 检测到镜像发布了新版本,它将自动拉取新镜像并使用相同的选项重启容器。从而简化了容器维护的流程,减少手动干预。 使用 Docker Compose 部署 Watchtower 是推荐且灵活的方式,它能更好的管理容器配置。 Docker Compose 部署 Watchtower 操作步骤 创建 Docker Compose 文件 mkdir docker-compose.yml 编辑 docker-compose.yml 文件 services: watchtower: image: containrrr/watchtower # 指定Watchtower镜像版本 container_name: watchtower # 定义容器名称 volumes: - /var/run/docker.sock:/var/run/docker.sock # 挂载Docker Socket,使Watchtower能与Docker守护进程通信 environment: - 'TZ=Asia/Shanghai' # 设置时区,例如:Asia/Shanghai - 'WATCHTOWER_POLL_INTERVAL=86400' # 设置轮询间隔,单位秒。默认为86400秒(24小时) - 'WATCHTOWER_CLEANUP=true' # 更新后自动删除旧镜像,可选 - 'WATCHTOWER_NOTIFICATIONS=email' # 配置通知方式,例如:email, slack, discord等 - 'WATCHTOWER_NOTIFICATION_EMAIL_FROM=sender@example.com' # 设置发送电子邮件地址 - 'WATCHTOWER_NOTIFICATION_EMAIL_TO=recipient@example.com' # 设置接收电子邮件地址 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com' # 设置发送电子邮件服务器 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587' # 设置发送电子邮件服务器端口 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=user' # 设置邮件服务器用户名 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=password' # 设置邮件服务器密码 restart: unless-stopped # 设置容器重启策略,除非手动停止,否则自动重启 command: --schedule "0 3 * * *" --cleanup nginx hysteria # 定时任务:每天凌晨3点执行更新并删除旧镜像 更多配置选项: ...