我尝试使用Azure容器实例,但我的图像长拉出问题。 ACI需要大约3分钟来拉动我的形象。
我已查看Troubleshooting guide,其中包含以下内容:
要确保最快的Windows容器启动时间,请使用以下两个图像的三个最新版本之一作为基本映像:
microsoft/windowsservercore
或microsoft/nanoserver
我的图片非常简单,基于故障排除指南中的建议microsoft/windowsservercore:ltsc2016
。这是Dockerfile和cirrusci/windowsservercore:2016
image itself。
我可以看到,如果我只是尝试启动microsoft/windowsservercore:ltsc2016
,启动它只需要大约20秒。所以我的猜测是microsoft/windowsservercore:ltsc2016
真的被缓存,但不是文档声称的最新摘要。我想知道是否有办法找出ACI缓存的图像的确切摘要?
注意:我尝试将图像从Docker Hub移动到与suggested相同的区域中的Azure容器注册表。它没有多大帮助。拉图像仍然是大约3分钟。
答案 0 :(得分:1)
因此,如果您注释掉Dockerfile的Powershell部分,那么它会创建一个没有从基础更改的容器,它会在20秒或3分钟内完成吗?
如果它在20秒内完成,那么只是你的文件系统更改导致速度减慢,但如果需要3分钟,那么这将证明Azure有一些缓存的容器准备就绪,你可能会更好地开始旋转其中一个基本容器,然后直接调用PowerShell脚本。看起来这个脚本会很快运行。
这也将使您免于拥有注册表。