目 录CONTENT

文章目录

Docker三件套:Uptime Kuma + Portainer + Watchtower 部署指南

酷谷的谷子
2026-05-18 / 0 评论 / 0 点赞 / 1 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Docker三件套部署架构图

引言

当你的 Docker 服务器上跑着十几个容器,每天要检查它们是不是还活着、日志有没有异常、镜像要不要更新……手动管理已经变成一场噩梦。这时候,你就需要一套自托管运维工具箱。今天介绍三款开源工具,覆盖容器运维的三大核心场景。

三件套概览

| 工具 | 功能 | 端口 | GitHub Stars | 一句话 | |------|------|------|-------------|--------| | Uptime Kuma | 服务监控 + 宕机告警 | 3001 | 58k+ | 比 Pingdom 更香的自托管监控 | | Portainer | Docker 图形化管理 | 9000 | 32k+ | 告别命令行管理容器 | | Watchtower | 自动更新容器镜像 | 无 | 19k+ | 让你的容器永远保持最新 |

一、Uptime Kuma — 服务状态面板

Uptime Kuma 是一个自托管的监控工具,监控你的所有服务是否在线。支持 HTTP、TCP、Ping、DNS、Docker 等多种监控方式,还支持多种通知渠道(邮件、Telegram、钉钉、企业微信等)。

部署

docker run -d \
  --name uptime-kuma \
  -p 3001:3001 \
  -v uptime-kuma-data:/app/data \
  --restart unless-stopped \
  louislam/uptime-kuma:latest

部署完成后,浏览器访问 `http://你的IP:3001`,注册账号后即可添加监控项。

核心功能亮点

- 80 秒间隔默认探测间隔,覆盖绝大多数场景 - 状态页公开分享:可以生成一个公开的状态页 - SSL 证书监控:监控域名证书的到期时间 - 支持代理监控:通过代理检查内网服务 - Ping 延迟折线图:长期观测网络质量

二、Portainer — Docker 可视化管家

Portainer 是目前最流行的 Docker 管理面板。它把 `docker ps`、`docker logs`、`docker exec` 这些命令变成了鼠标点击操作。

部署

docker run -d \
  --name portainer \
  -p 9000:9000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer-data:/data \
  --restart unless-stopped \
  portainer/portainer-ce:latest

常用功能

- 容器管理:启停、删除、查看日志、进入终端 - 镜像管理:拉取、删除、构建 - 网络管理:创建、连接、查看网络拓扑 - 卷管理:创建和管理数据卷 - 应用模板:一键部署常用服务

如果你是 Docker 新手,Portainer 可以帮助你快速上手容器管理的各个概念。就算你是老手,有了 Portainer 也能减少大量重复的 `docker` 命令输入。

三、Watchtower — 自动更新守护

容器部署久了最大的痛点是什么?容器内的软件版本过时了。你部署的 Nginx、MySQL、Redis,如果长时间不更新,可能带着安全漏洞在跑。Watchtower 就是来解决这个问题的。

部署

docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DOCKER_API_VERSION=1.44 \
  --restart unless-stopped \
  containrrr/watchtower:latest \
  --schedule "0 0 4 * * *" \
  --cleanup

⚠️ 注意事项:如果你的 Docker 版本较新(API 版本 ≥ 1.44),需要在环境变量中设置 `DOCKER_API_VERSION=1.44`,否则 Watchtower 会因客户端版本过旧而不断重启。

各参数说明: - `--schedule "0 0 4 * * *"`:每天凌晨 4 点检查更新(Cron 表达式) - `--cleanup`:更新后自动删除旧镜像,节省磁盘空间 - `--include-stopped`:也更新已停止的容器(可选) - `--revive-stopped`:更新后重新启动已停止的容器(可选)

四、三件套联动

这三件工具各司其职,又能协同工作:

Uptime Kuma ← 监控 → Portainer 和 Watchtower 是否正常
Portainer   ← 管理 → 所有容器的运行状态
Watchtower  ← 更新 → 所有容器的镜像版本

加上 Nginx Proxy Manager 做反向代理,就能构建一个完整的自托管服务体系:

NPM(443) → Uptime Kuma(3001) → 监控全部服务
         → Portainer(9000)    → 管理全部容器
         → Watchtower         → 自动更新全部镜像

五、总结

如果你只有一两台服务器、跑着三五个容器,或许手动管理就够了。但当容器数量超过十个,部署这三件套能为你节省大量时间。Uptime Kuma 让你第一时间知道服务挂了,Portainer 让你快速排查问题,Watchtower 让你不用操心版本更新——一套组合拳下来,运维效率提升不止一个档次。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区