【问题标题】:Do docker layers allow for unintended container OS upgrades?docker 层是否允许意外的容器操作系统升级?
【发布时间】:2020-01-21 23:53:28
【问题描述】:

当我转向容器时,我意识到容器概念将操作系统和应用程序绑定到同一个部署系统中。

背景

docker pull mcr.microsoft.com/dotnet/core/runtime:3.1.1-buster-slim

此命令提取 Microsoft 为 .NET Core 运行时设置的容器映像。该容器映像取决于 mcr.microsoft.com/dotnet/core/runtime-deps:3.1-buster-slim 容器映像。而那个 runtime-deps 容器镜像是从 debian:buster-slim 镜像构建的。

debian:buster-slim 映像当前面向 Linux Debian 10.2 版。但是当 10.3 发布时,它将以 10.3 为目标。 (我假设它是当前版本时针对 10.1。)

问题

debianbuster-slim 标记更新为目标10.3 时,是否所有mcr.microsoft.com/dotnet/core/runtime:3.1.1-buster-slim 的下载都更新为开始使用10.3?

或者mcr.microsoft.com/dotnet/core/runtime:3.1.1-buster-slim 是否以某种方式锁定在 10.2?

我很担心会发生这样的事情:

  1. 我创建了一个依赖于 mcr.microsoft.com/dotnet/core/runtime:3.1.1-buster-slim 的容器并将其发布到生产环境(运行 Debian 10.2)
  2. Debian 发布其操作系统 10.3 并更新 buster-slim 标记以指向 10.3。
  3. 我对我的容器做了一个非常小的更改(从第 1 步开始),重建容器映像并部署它。但由于 docker 的工作方式,我的小改动还包括无意中将操作系统升级到 Debian 10.3。

我希望在使用标签 latest 时会出现这种情况,但在使用特定标签时不会。

所以可以用这个问题来概括:

即使我继续使用完全相同的标签,我是否会获得标签的依赖项升级?

【问题讨论】:

    标签: docker containers dockerhub


    【解决方案1】:

    是的,可能。 Docker 中没有任何东西可以阻止作者多次将新图像上传到同一个标签,即使对于您在此处讨论的特定标签也是如此。

    【讨论】:

      猜你喜欢
      • 2018-01-29
      • 2019-03-31
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2020-12-20
      • 2010-10-27
      相关资源
      最近更新 更多