gpt4 book ai didi

docker - 实现Docker FROM的不同方式是什么?

转载 作者:行者123 更新时间:2023-12-02 20:52:11 30 4
gpt4 key购买 nike

例如,通常使用docker's from命令完成图像的继承。

from centos7:centos7 

就我而言,我有一个Dockerfile,希望用作基础镜像构建器,并且有两个子dockerfile可以自定义该文件。

我不想将原始dockerfile作为容器提交给dockerhub,因此,例如,我想这样做:
Dockerfile
slave/Dockerfile
master/Dockerfile

slave / Dockerfile如下所示:
from ../Dockerfile

这(或类似的东西)可能吗?还是我必须先将顶级Dockerfile转换为容器,然后将其提交为dockerhub镜像,然后才能使用docker FROM指令来利用它。

最佳答案

您无需将镜像推送到dockerhub即可将其用作基本镜像。但是您需要在本地构建它们,以便将它们存储在本地Docker存储库中。您不能将图像用作基于相对路径(例如../Dockerfile)的基础图像-您必须将自己的图像基于本地存储库中存在的其他图像文件。

假设您的基本图片使用以下内容(在Dockerfile中):

FROM        centos7:centos7
// More stuff...

在构建它时,请使用以下命令:
docker build -t my/base .

此处发生的是图像 centos7:centos7是从dockerhub下载的。然后,将生成图像 my/base并将其存储(不进行版本控制)在本地存储库中。您还可以通过简单地提供如下版本信息来为Docker容器提供版本控制:
docker build -t my/base:2.0 .

如上例所示,在构建镜像后,至少可以在同一台计算机(相同的本地存储库)上,将其用作 FROM -image来构建其他子镜像。因此,在子图像中,您可以使用以下内容:
FROM        my/base

基本上,您无需在任何地方进行任何操作。所有图像都位于本地计算机上。但是,如果尝试在没有先前构建的基础镜像的情况下构建子镜像,则会出现错误。

有关构建和标记的更多信息,请查看文档:
  • docker build
  • docker tag
  • create your own image
  • 关于docker - 实现Docker FROM的不同方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27712708/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com