首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ECS中查看镜像下载时间?

如何在ECS中查看镜像下载时间?
EN

Stack Overflow用户
提问于 2020-08-06 21:03:03
回答 1查看 156关注 0票数 1

我想要监控运行新部署时的映像下载时间。我看到ECS控制台中的任务事件详细信息可以给我一个粗略的估计,但我不能真正判断所消耗的时间是图像下载时间还是其他时间。我还想知道它是使用缓存的图像还是来自远程存储库。有没有办法做到这一点?请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2020-08-07 13:17:16

,但我真的不能确定所花费的时间是图像下载时间还是其他什么

不确定您是否可以计算AWS ECS事件的镜像拉取时间,因为我在ECS event中找不到这一点,但您可以尝试的最简单的方法之一是在您的ECS实例上拉取镜像手册,这将通过使用timedocker pull给出一些更好的估计。

代码语言:javascript
复制
time docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
Digest: sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321
Status: Image is up to date for alpine:latest

real    0m5.789s
user    0m0.033s
sys 0m0.039s

我还想知道它是在使用缓存的图像,还是从远程存储库。有没有办法做到这一点?

你可以使用ECS_IMAGE_PULL_BEHAVIOR this ECS变量来控制这个行为,因为在默认情况下,它每次都会拉取图像,所以如果你想缩短启动时间,你可以使用prefer-cached

ECS_IMAGE_PULL_BEHAVIOR

代码语言:javascript
复制
Example values: default | always | once | prefer-cached

Linux上的默认值: Default

Windows上的默认值: Default

用于自定义容器实例的拉取镜像过程的行为。下面描述了可选行为:

如果指定了默认,则会远程拉取镜像。如果镜像拉取失败,容器将使用实例上缓存的镜像。

如果指定 always ,则始终远程拉取镜像。如果镜像拉取失败,则任务失败。此选项可确保始终提取最新版本的映像。任何缓存的图像都将被忽略,并受到自动图像清理过程的影响。

如果指定了once,则仅当同一容器实例上的前一个任务尚未拉取镜像,或者缓存的镜像已被自动镜像清理过程移除时,才会远程拉取镜像。否则,将使用实例上缓存的镜像。这样可以确保不会尝试不必要的镜像拉取。

如果指定了prefer-cached,如果没有缓存的镜像,则远程拉取镜像。否则,将使用实例上缓存的镜像为。容器关闭镜像自动清理功能,以确保缓存的镜像不会被移除。

ecs-agent-config

amazon-ecs-adds-options-to-speed-up-container-launch-times

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63284212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档