NAS 上十来个 Docker 容器的镜像管理:代理、更新、清理、通知一次搞定

起因 NAS 上的容器不知不觉攒到了 10 个:MoviePilot、Emby、Plex、Navidrome、qBittorrent、Transmission、Vaultwarden、IYUUPlus、cloudflared、mihomo。用是都好用,但一查镜像日期吓一跳: cloudflare/cloudflared:latest 7 months ago emby/embyserver:latest 7 months ago linuxserver/plex:latest 7 months ago deluan/navidrome:latest 4 months ago vaultwarden/server:latest 2 months ago 媒体服务器这种东西七个月不更,安全补丁全欠着。docker system df 再一看,还有 6.6GB 的孤儿卷和 900MB 构建缓存躺着吃硬盘。 问题拆开是四件事: Container Manager 拉镜像时灵时不灵(国内镜像加速站不稳定); 一堆容器该更新了; 垃圾没人清; 以后怎么知道有更新——总不能定期手动挨个查。 思路:通知我,但别替我动手 先说最关键的决策:不用 Watchtower 全自动更新。 自动更新在家用 NAS 场景里有几个雷: PT 下载器绝对不能乱升。qBittorrent 4.6.7 和 Transmission 4.0.5 是故意钉死的版本,PT 站对客户端版本有白名单,自动升级一时爽,账号被 ban 火葬场; Vaultwarden、Emby 这类有状态服务,大版本升级偶尔涉及数据迁移,半夜自动升挂了都不知道; :latest 标签偶尔也有翻车版本,晚几天更新反而是优势。 所以最终形态是:Diun 每天检查一遍所有镜像,有新版就推送到 Synology Chat;我看到通知后,想更就 SSH 上去两条命令,不想更就无视。主动权在人手里。 第一步:给 dockerd 配上代理 先解决"拉不动镜像"的底层问题。之前 Container Manager 靠四个国内镜像加速站续命,这些站时好时坏。正好 NAS 上跑着 mihomo(7890 端口映射到主机),让 dockerd 自己走代理就行。 ...

July 2, 2026 · 3 min