简体中文
容器更新 DPanel Version >= 1.11.2
更新容器时,面板会重新拉取镜像,沿用原有配置重建容器;是否保留旧容器取决于备份选项。若拉取后的镜像未变化,则相当于使用原镜像重建。
你可以在 容器详情 中检测和更新单个容器,也可以在 容器更新 页面中批量检测和更新多个容器。
更新容器

批量更新

检测缓存
容器的更新检测统一归入 容器更新 功能。面板会记录每个容器的检测时间、状态及错误信息。
为避免频繁请求远程仓库,打开或刷新 容器详情 时会复用 10 分钟内的检测结果,超过 10 分钟则重新检测。容器更新 的批量检测则只在手动检测后刷新检测结果。
忽略检测
使用本地镜像或不想更新的容器,可设置 检测忽略,支持以下两种模式。在 容器详情 中手动检测,可取消该容器的忽略设置。
- 忽略当前版本:仅忽略容器当前使用的镜像版本;容器镜像变化后可重新检查。
- 永久忽略:始终忽略当前容器,其他使用相同镜像的容器不受影响。
检测原理
Digest 是镜像内容的摘要,面板通过比较本地与远程 Digest 检测更新。本地同名 Tag 已指向其他镜像时,也会提示更新。
多架构镜像的整体 Digest 可能因其他架构变化而改变,因此当前架构未变化时,也可能提示更新。
删除加速标签导致本地摘要丢失后,仍可尝试使用容器中保存的历史摘要检测。
直接使用固定镜像 ID 或 镜像名@sha256:… 创建的容器不支持检测更新。
判定机制
本地同名 Tag 已指向其他镜像时,直接提示更新;否则查询远程摘要。本地摘要缺失时,尝试使用容器保存的历史摘要。
| 情况 | 判断结果 |
|---|---|
| 本地同名 Tag 指向的镜像与容器当前使用的镜像不同 | 有更新,不再查询远程 |
| 远程 Digest 匹配任意本地或历史摘要 | 暂无更新 |
| 远程 Digest 与已有摘要均不匹配 | 有更新 |
| 本地和历史摘要都缺失,但成功取得远程镜像清单 | 有更新,即使远程未返回 Digest |
| 远程镜像清单不存在,或已有摘要但远程未返回 Digest | 无法检测 |
| 网络、认证等查询错误 | 检测失败 |
命名规范
镜像名中冒号后的部分称为 Tag(标签),如 dpanel/dpanel:latest 中的 latest。Tag 表示版本或发行类型,同一 Tag 可指向不同的镜像内容。
常见的 Tag 命名方式如下:
| 类型 | 示例 |
|---|---|
| 固定标识 | dpanel/dpanel:lite、nginx:latest、nginx:mainline |
| 版本系列 | dpanel/dpanel:1、nginx:1.27 |
| 具体版本 | dpanel/dpanel:1.4.0-lite、nginx:1.27.3 |
| 发行时间 | minio/minio:RELEASE.2024-10-02T17-50-41Z |
Tag 是否更新取决于发布者。面板只检查当前 Tag 对应的镜像,不比较版本号大小,也不自动切换 Tag。
更新回退
更新时勾选 更新前备份旧容器,才会保留名为 容器名-bak-时间 的备份容器;默认不保留。 回退时,先停止新容器,再启动备份容器;挂载数据不会随之恢复。
