因此,我使用 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