Docker 当我的图像的基础图像更新时会发生什么?

Docker 当我的图像的基础图像更新时会发生什么?,docker,dockerfile,docker-build,Docker,Dockerfile,Docker Build,我有基于microsoft/aspnet:4.6.2的图像,在构建这些(我的)图像时,为了构建我自己的图像,microsoft/aspnet:4.6.2被下拉。因此,在我的本地计算机中,我有microsoft/aspnet:4.6.2图像。假设基本图像得到更新,Microsoft发现图像有一个bug,并决定修复该标记,因此它仍然被称为Microsoft/aspnet:4.6.2,但它实际上与我创建自己的图像时不同 所以我有两个问题: 1.每次我的图像被拉下来,它都会得到基本图像,就像我创建图像时

我有基于
microsoft/aspnet:4.6.2
的图像,在构建这些(我的)图像时,为了构建我自己的图像,
microsoft/aspnet:4.6.2
被下拉。因此,在我的本地计算机中,我有
microsoft/aspnet:4.6.2
图像。假设基本图像得到更新,Microsoft发现图像有一个bug,并决定修复该标记,因此它仍然被称为
Microsoft/aspnet:4.6.2
,但它实际上与我创建自己的图像时不同

所以我有两个问题:
1.每次我的图像被拉下来,它都会得到基本图像,就像我创建图像时一样,对吗?(看起来很明显,但我需要检查一下)
2.如果我注意到(web钩子、触发器?)有一个较新版本的
microsoft/aspnet:4.6.2
我可以再次运行
docker build
命令并将较新的映像拉下来吗?请记住,旧的基本映像在我的文件系统中(称为相同的)。Docker是否足够聪明,能够意识到我有一个较旧版本的基本映像,它会下载最新版本的映像


希望我说得很清楚

你的图片,就像别人下载的一样,将永远保持不变。一个图像依赖于特定的属性来为图像提供它的SHA256校验和。修改父层将修改用于引用图像的校验和,从而成为新图像。更改该图像的唯一方法是,如果图像被标记引用,并且本地标记发生更改,可以手动更改,也可以再次拖动图像标记

默认情况下,
docker build
将首先使用本地映像。您需要运行
docker build--pull
,分别运行
docker pull
docker rmi IMAGE
,以便生成使用最新标记的图像


生成服务具有在中心中更新任何指定映像时自动重建的功能

有人下载的图像将始终保持不变。一个图像依赖于特定的属性来为图像提供它的SHA256校验和。修改父层将修改用于引用图像的校验和,从而成为新图像。更改该图像的唯一方法是,如果图像被标记引用,并且本地标记发生更改,可以手动更改,也可以再次拖动图像标记

默认情况下,
docker build
将首先使用本地映像。您需要运行
docker build--pull
,分别运行
docker pull
docker rmi IMAGE
,以便生成使用最新标记的图像

生成服务具有在中心中更新任何指定映像时自动重建的功能

  • 对。(在内部,它使用
    图像ID
    ,而不是名称来引用基本图像)
  • 默认情况下IIRC不智能。(在
    docker build
    中有一个
    --pull
    开关)
  • 对。(在内部,它使用
    图像ID
    ,而不是名称来引用基本图像)
  • 默认情况下IIRC不智能。(在
    docker build
    中有一个
    --pull
    开关)

  • 如果您需要最新发布的基本映像,请在docker生成期间使用-no cache选项,否则docker将始终使用本地可用的映像,除非您在docker生成后进行清理。

    如果您需要最新发布的基本映像,请在docker生成期间使用-no cache选项,否则docker将始终使用本地可用的映像,除非您在docker构建后进行清理

    修复一个bug并使用相同的
    标签发布新的
    图像
    将是一件坏事。这并不能保证行为的重现性。您可能需要查看和(关于
    最新的
    标记)。修复错误并使用相同的
    标记发布新的
    图像
    将是一件坏事。这并不能保证行为的重现性。您可能需要查看和(关于
    最新的
    标记)。
    --无缓存
    --拉取
    之间有什么区别?医生不清楚他们几乎一模一样。与无缓存相比,IIRC pull存在打开错误。
    --no cache
    --pull
    之间有什么区别?医生不清楚他们几乎一模一样。与没有缓存相比,IIRC pull有打开的bug。