Dockerfile构建镜像后docker inspect查询DockerVersion字段值为空问题
Docker Desktop for Mac构建镜像后DockerVersion字段为空的解决方案
这个问题是Docker Desktop for Mac 20.10+版本默认启用BuildKit构建后端导致的。BuildKit作为官方主推的新一代构建工具,优化了构建速度、缓存逻辑等能力,默认不会在镜像元数据中填充DockerVersion、Author这类旧构建器的遗留字段,属于预期行为,不存在环境故障。
解决方法
- 临时禁用BuildKit单次构建:执行构建命令时添加环境变量即可,示例如下:
DOCKER_BUILDKIT=0 docker build -t myimage:latest .
用该命令构建的镜像执行docker inspect即可看到DockerVersion字段已填充对应引擎版本号。
- 永久关闭BuildKit(不推荐):
- 打开Docker Desktop设置面板,找到「Docker Engine」配置页
- 将配置JSON中的
"buildkit": true修改为"buildkit": false - 保存配置并重启Docker Desktop,后续所有构建都会自动填充
DockerVersion字段
注意:BuildKit相比旧构建器有非常明显的性能提升,如果你没有强制依赖
DockerVersion元数据的场景,完全可以保留默认配置,空字段不会对镜像的正常运行、分发、使用造成任何影响。
内容的提问来源于stack exchange,提问作者Hosang Jeon
相关产品推荐
相关产品推荐

