我正在做一个dockerfile。 我刚刚意识到我一直在使用FROM索引图像。
所以我想知道:
我如何使用我的一个本地(自定义)图像作为我的基础(FROM)图像而不推到索引?
我正在做一个dockerfile。 我刚刚意识到我一直在使用FROM索引图像。
所以我想知道:
我如何使用我的一个本地(自定义)图像作为我的基础(FROM)图像而不推到索引?
当前回答
对于使用M1芯片的用户,当本地镜像与目标Dockerfile的平台不同时,就会出现问题。在我的情况下,我已经建立了M1支持的基本映像,然后尝试使用命令FROM在映像,这是与平台linux/amd64构建
其他回答
我们/etc/docker/daemon.Json有一行声明
"disable-legacy-registry" : true,
有了这条线,当地的登记处拒绝访问。 除去了它,它开始工作了。
我刚刚在引擎版本为20.10.14的M1 Mac上遇到了这种情况。从docker build -help看不太明显,但pass -pull=false对我有用。
对于使用M1芯片的用户,当本地镜像与目标Dockerfile的平台不同时,就会出现问题。在我的情况下,我已经建立了M1支持的基本映像,然后尝试使用命令FROM在映像,这是与平台linux/amd64构建
我必须禁用带有M1的mac上的BUILDKIT才能使用本地映像。 可以通过将DOCKER_BUILDKIT环境变量设置为0来实现这一点。
DOCKER_BUILDKIT=0 docker build -t YOUR_TAG——pull=false。
对于将来遇到这个问题的任何人来说,你在本地有映像,但docker build仍然试图从docker hub中提取映像,问题可能是架构类型不同。
可以使用以下命令检查映像的体系结构
docker inspect --format='{{.Os}}/{{.Architecture}}' IMAGE_NAME
现在在Dockerfile中,将从IMAGE_NAME更改为FROM——platform=linux/amd64 IMAGE_NAME, docker现在将使用本地映像。