Skip to content

容器更新 DPanel Version >= 1.4.2

容器更新页面集中展示当前 Docker 环境中的容器,可在同一页面检查镜像更新、查看检查结果并升级容器。 升级操作会保留当前容器的全部配置,并重新拉取镜像重新部署容器。

TIP

多服务端下,请确保每个服务端的版本一致,否则可能产生不兼容情况导致升级失败。

container-upgrade-1

检查更新

检查更新已统一归入容器更新功能。面板会根据容器当前使用的镜像查询远程仓库,并记录每个容器的检查时间、检查状态、本地 Digest、远程 Digest 和错误信息。

为避免频繁请求远程仓库,默认会复用 10 分钟内的检查结果。选择【强制检查】后会跳过缓存,重新查询远程仓库。容器使用的镜像发生变化后,原检查结果会自动失效。

可按需设置忽略方式:

  • 忽略当前版本:仅忽略容器当前使用的镜像版本;容器镜像变化后可重新检查。
  • 永久忽略:始终忽略当前容器,其他使用相同镜像的容器不受影响。
  • 恢复检测:取消该容器的忽略设置。

镜像更新检测逻辑

Digest

镜像的 digest 值是标识镜像在远程仓库中的唯一标识,面板通过此值检测镜像更新。 如本地镜像不包含 digest 值,则无法与远程镜像进行比较,检查结果会显示为暂无更新。

对于支持不同架构平台的镜像,即使只有一个平台发生变化,也会导致 digest 值变化,从而检测出更新。

使用面板仓库加速地址拉取的镜像,其 digest 值属于加速标签,删除此标签后将无法检测更新。

命名规范

镜像名如 dpanel/dpanel:latestdpanel/dpanel:lite 等,冒号(:)后面的部分称为 Tag,用于标识镜像的版本(digest)。

通常 tag 的构成有以下几种情况:

类型示例
固定标识dpanel/dpanel:litenginx:latestnginx:mainline
大版本号dpanel/dpanel:1 nginx:1.27
小版本号dpanel/dpanel:1.4.0-litenginx:1.27.3
根据发行时间minio/minio:RELEASE.2024-10-02T17-50-41Z

镜像发布时,会从大到小依次覆盖 Tag。例如 nginx 发布 1.27.4 时,会同时推送至 nginx:1.27nginx:latestnginx:mainlinenginx:1.27.4 等,小版本 nginx:1.27.3 则不会被覆盖。

检测更新

  • 当你使用 nginx:latest 创建容器后,当 nginx 有更新推送可以检测出更新。
  • 当你使用 nginx:1.27 创建容器后,仅当 nginx 发布 1.27.* 相关版本时会检测出更新。
  • 当你使用 nginx:1.27.3 创建容器后,通常情况下无法检测出更新。

在创建容器时,需要根据自身情况,选择合适的镜像 Tag 以确保可以正常使用【快速升级容器】功能。

更新回退

DPanel 更新容器时,会停止旧容器并重命名为【容器名-更新时间】,旧镜像也会重命名为【镜像名称-更新时间】。 更新容器后,可重新启动旧容器以完成更新回退。