如何使用本地映像作为带有 dockerfile 的基础映像?

新手上路,请多包涵

我正在处理一个 dockerfile。我刚刚意识到我一直在使用 FROM 和索引图像。

所以我想知道:

  • 如何在没有 pushing 的情况下将我的本地(自定义)图像之一用作我的基础( FROM )图像到索引?

原文由 Phil 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 262
2 个回答

您可以使用它而无需做任何特别的事情。如果您有一个名为 blah 的本地图像,您可以执行 FROM blah 。如果您在 Dockerfile 中执行了 FROM blah ,但 没有 名为 blah 的本地映像, 那么 Docker 将尝试从注册表中提取它。

换句话说,如果 Dockerfile 是 FROM ubuntu ,但你有一个名为 ubuntu 的本地镜像与官方镜像不同,你的镜像将覆盖它。

原文由 jpetazzo 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于将来遇到此问题的任何人,如果您在本地有图像,但 docker build 仍然尝试从 docker hub 提取图像,问题可能是架构类型不同。

即使图像存在,也尝试从 docker.io 中提取

您可以使用检查图像的架构

docker inspect --format='{{.Os}}/{{.Architecture}}' IMAGE_NAME

现在在您的 --- 中将 Dockerfile 更改为 FROM IMAGE_NAME FROM --platform=linux/amd64 IMAGE_NAME 和 docker 现在将使用本地图像。

原文由 Anuj Bansal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进