外部服务器使用 docker 27.5.1 ,打包了一个 40g 的镜像,打算导入到内网使用,但是导入一直报错,内网维护人员表示 docker 版本太高,内部使用 docker 20.x 版本,因为平台原因,没有相关错误日志。
所以前来问问各位,docker 是否确实有这个问题?以及如果有的情况下,如何在高版本 docker 下打包一个低版本 docker 兼容的镜像?
网上查找该问题描述甚少,只有 chatgpt 提到了一嘴 docker 新版本使用了 BuildKit 特性,所以可能存在版本兼容问题,进一步查找没有得到更多。
外部服务器容器环境复杂,不太方便再重装一个低版本 docker ,希望能有不重装环境的解决方案。
![]() |
1
superchijinpeng 89 天前 ![]() dind 起个低版本,自己导入下试试不就行了
|
![]() |
2
maocat 89 天前 ![]() 存在的,遇到过 python3.12 在老版本的 docker(1.13.1)跑不起来
|
![]() |
3
SeanChang PRO ![]() 这个问题是存在的~
Docker 早期的镜像格式( Docker Image Format v1 和 v2 schema 1 )已经被废弃,新版本 Docker (尤其是 25.x 之后)直接拒绝拉取这种老格式镜像。 内部使用 docker 20.x 可能只支持 Docker Image Format v1 ,外部服务器使用 docker 27.5.1 拉了一个 v2 版本的镜像,导入不进去~ 反之~如果 docker 20.x 以下版本拉取的 v1 镜像,也不能导入到 20+ 之后支持 v2 的 docker 版本中。 |