gpt4 book ai didi

Azure 容器注册表比从 hub.docker.com 获取镜像慢

转载 作者:行者123 更新时间:2023-12-05 07:08:30 34 4
gpt4 key购买 nike

我正在努力解决 Azure 容器注册表的性能问题。由于某种原因,即使容器和 ACR 都位于“美国东部”数据中心内,从 docker hub 提取镜像比使用 ACR 更快

string containerImage = "**.azurecr.io/****";
containerGroup = azure.ContainerGroups.Define(this.containerGroupName)
.WithRegion(azureRegion)
.WithExistingResourceGroup(resourceGroupName)
.WithLinux()
.WithPrivateImageRegistry("***.azurecr.io", "ACR-username", "ACR-password")
.WithoutVolume()
.DefineContainerInstance(containerInstanceName)
.WithImage(containerImage)
.WithoutPorts()
.WithCpuCoreCount(currentCpu)
.WithMemorySizeInGB(currentRam)
.WithStartingCommandLine("/bin/sh", "-c", commandLine)
.Attach()
.WithRestartPolicy(ContainerGroupRestartPolicy.Never)
.WithLogAnalytics(workspaceId, workspaceKey)
.Create();

使用 Docker hub 时,我使用了具有完全相同 dockerfile 的公共(public)镜像。唯一更改的代码如下所示。

string containerImage = "registry.hub.docker.com/****";

...

.WithPublicImageRegistryOnly()

...

出于某种原因,在使用 ACR 注册表时,容器处于“待处理”状态的时间比使用 docker 注册表时的时间要长得多。

谁能指出我哪里错了?为什么 ACR 比 docker 花费的时间更长? ACR 应该会快很多,因为注册表和容器都位于同一个数据中心。

编辑:只是一些关于差异的统计数据:700MB 容器

ACR - 启动时间

  • 容器启动时间158.0362116秒
  • 容器启动时间1003.6491133秒
  • 容器启动时间67.585987秒
  • 容器启动时间912.319042秒

Docker 注册表 - 启动时间

  • 容器启动时间98.0485261秒
  • 容器启动时间278.4380892秒
  • 容器启动时间97.0235342秒
  • 容器启动时间307.8993358秒

最佳答案

现在启动时间快得多了。使用 ACR,完全相同的配置和容器在大约 6 秒内启动。

关于Azure 容器注册表比从 hub.docker.com 获取镜像慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61855521/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com