AWS Fargate 缓存 ECR 标签?

问题描述 投票:0回答:1

将图像推送到 ECR 时,我使用“最新”标签。我在 UI 中停止该任务,期望当 Fargate 自动重新启动该任务时,将使用该“最新”图像,但它却使用旧图像。我缺少什么?我已经使用这个方法很多年了,但它刚刚失效了。

我正在使用这个文档,但文本实际上并没有说明任务是否被缓存:

每个 Fargate 任务都在其自己的单用途、单租户实例上运行。当您在 Fargate 上运行 Linux 容器时,容器映像或容器映像层不会缓存在实例上。因此,对于任务中定义的每个容器映像,需要从每个 Fargate 任务的容器映像注册表中提取整个容器映像。

如果我删除旧图像,它当然会导致

CannotPullContainerError

解决方法是更改任务定义,从使用“最新”更新为使用图像的 sha,但我更愿意先找出我是否做错了什么。另一种可能是“强制部署”——我会先尝试一下。

amazon-ecs aws-fargate amazon-ecr
1个回答
0
投票

看起来此功能导致了您所看到的行为。看起来 ECS 在部署时存储了该映像,并且在触发另一个部署之前不会查找

latest
映像的新版本。我强烈建议您从使用
latest
改用不可变图像标签。

© www.soinside.com 2019 - 2024. All rights reserved.