【发布时间】: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。)
问题
当debian 的buster-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?
我很担心会发生这样的事情:
- 我创建了一个依赖于
mcr.microsoft.com/dotnet/core/runtime:3.1.1-buster-slim的容器并将其发布到生产环境(运行 Debian 10.2) - Debian 发布其操作系统 10.3 并更新
buster-slim标记以指向 10.3。 - 我对我的容器做了一个非常小的更改(从第 1 步开始),重建容器映像并部署它。但由于 docker 的工作方式,我的小改动还包括无意中将操作系统升级到 Debian 10.3。
我希望在使用标签 latest 时会出现这种情况,但在使用特定标签时不会。
所以可以用这个问题来概括:
即使我继续使用完全相同的标签,我是否会获得标签的依赖项升级?
【问题讨论】:
标签: docker containers dockerhub