version: '3.8'
services:
# 1. 自动更新工具服务:Tugtainer
tugtainer:
container_name: tugtainer
image: quenary/tugtainer:latest
# 🚨 关键:授予 Tugtainer 访问 Docker 宿主的权限
volumes:
# 挂载 Docker Socket:允许 Tugtainer 与 Docker Daemon 通信并管理容器
# 注意:移除 ':ro' (Read-Only) 以便 Tugtainer 能够停止/重建容器。
- /var/run/docker.sock:/var/run/docker.sock
# 命名卷用于数据持久化(如果 Tugtainer 需要存储配置/状态)
- tugtainer_data:/tugtainer
ports:
# 暴露 Tugtainer 的管理 Web 界面
- '9412:80'
networks:
- monitor_net
restart: unless-stopped
# 2. 被监控的服务:一个示例 Web 应用 (Nginx)
web_app:
container_name: my_nginx_app
# 💡 关键:使用可变标签 (如 'latest'),才能被 Tugtainer 自动更新
image: nginx:latest
ports:
- '8080:80' # 示例端口
networks:
- monitor_net
# 🔑 关键:添加标签 (Labels)
# 虽然 Tugtainer 可能默认监控所有容器,但通常推荐添加标签,
# 明确指示哪些容器需要被自动更新工具管理。
# 具体的标签名称请参考 Tugtainer 的官方文档,这里使用一个通用示例。
labels:
- "com.tugtainer.enable=true"
restart: unless-stopped
# --- 网络和卷定义 ---
networks:
monitor_net:
driver: bridge
volumes:
tugtainer_data: