删除外部 Docker 容器注册表依赖项/仅在 Amazon ECR 上存储容器映像

删除外部 Docker 容器注册表依赖项/仅在 Amazon ECR 上存储容器映像

因此,我使用 Amazon Elastic Container Registry (ECR) 来存储我们的容器。我有一个使用 Microsoft 基础映像构建的容器:

mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016

我发现,当我将容器映像推送到 Amazon ECR,然后稍后提取该映像时 - 它仍然从 mcr.microsoft.com 下载基础层!

我正在使用适用于 Windows Server 的 Docker(而不是适用于 Linux 的 Docker)。

我不想要这个,因为 mcr.microsoft.com 超级慢而且不可靠。此外,微软不断通过更改服务器名称来破坏链接。

如何让 docker 不将第一层的“外部链接”存储到 mcr.microsoft.com 而是将所有内容存储在 Amazon ECR 上?

答案1

如果您将映像推送到 ECR,则您不再依赖 dockerfile 的“第一层”来构建映像。如果您有一个 Dockerfile,其中包含指向 的 ,FROM并且mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016您根据此 Dockerfile 构建映像,则可以将映像推送到 ECR,并且您不再依赖mcr

我想知道您是否仍在mcr以某种方式提取您的docker pull语法?

你的 pull 应该有一个类似的语法,docker pull aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my_image:my_tag并且这样的命令不会依赖于mcr

相关内容