如何为群晖Docker容器添加--pull=always参数?含config.v2.json修改方案
解决群晖Docker强制每次运行拉取最新镜像的问题
方法一:修改容器配置文件(对应--pull=always效果)
- 停止目标容器:
docker stop [容器名称或ID] - 定位到容器配置文件路径,通常在:
(容器ID可通过/var/packages/Docker/var/docker/containers/[容器ID]/config.v2.jsondocker ps -a查看) - 编辑
config.v2.json文件,找到"Image"字段:- 原内容一般是带哈希值的镜像标识,比如
nginx@sha256:xxxxxxxxx... - 将其修改为纯镜像名(如
nginx:latest),去掉后面的@sha256:...部分
- 原内容一般是带哈希值的镜像标识,比如
- 保存文件后启动容器:
docker start [容器名称或ID]注意:修改前务必备份配置文件,避免格式错误导致容器无法启动
方法二:使用Docker Compose(更稳定的长期方案)
放弃群晖UI创建容器,改用Docker Compose直接配置拉取策略:
- 创建
docker-compose.yml文件,填入以下内容(替换为你的容器实际配置):version: '3' services: your-container: image: nginx:latest pull_policy: always # 关键配置,等同于--pull=always # 以下是原容器的其他配置,如端口、挂载、环境变量等 ports: - "80:80" volumes: - /volume1/docker/nginx/html:/usr/share/nginx/html - 通过SSH将文件上传到群晖任意目录,执行命令启动容器:
docker-compose up -d - 后续每次需要更新镜像,直接执行上述命令即可,Compose会自动拉取最新镜像并重启容器
方法三:群晖UI临时操作(适合偶尔更新)
如果不想用命令行,可通过UI间接实现:
- 先删除现有容器(注意保留数据卷,避免丢失数据)
- 重新创建容器时,在「镜像」选择步骤,直接输入镜像全名(如
nginx:latest),点击「下载」获取最新镜像后再完成创建 - 每次需要更新时,重复删除-重建流程(此方法较繁琐,不推荐频繁操作)
内容的提问来源于stack exchange,提问作者Corben
相关产品推荐
相关产品推荐

