当 Amazon Elastic Container Service (Amazon ECS) 任务在我的服务中启动时,将使用较旧的容器映像。另外,当我删除较旧的容器映像时,任务无法启动,我会收到“CannotPullContainer”错误。
简短描述
当您在服务上部署容器映像时,容器映像标签将解析为容器映像摘要。该摘要包含映像的权威元数据,因此在您再次部署容器映像之前,对容器映像的更改不会反映出来。在服务上重新部署容器映像后,摘要会更新。
有关详细信息,请参阅容器映像解析和宣布 Amazon ECS 的软件版本一致性。
解决方法
更新您的 ECS 服务
要更新映像摘要,请使用 Amazon ECS 控制台或 AWS 命令行界面 (AWS CLI) 强制进行新的部署。
Amazon ECS 控制台
要使用 Amazon ECS 控制台,请参阅使用控制台更新 Amazon ECS 服务。
AWS CLI
**注意:**如果在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
运行 update-service 命令:
aws ecs update-service --service SERVICE_NAME --cluster CLUSTER_NAME --force-new-deployment
**注意:**将 SERVICE_NAME 替换为您的服务名称,将 CLUSTER_NAME 替换为您的集群名称。
要始终使用特定映像,请在任务定义中指定映像摘要目录。
解决“CannotPullContainer”错误
如果您在删除较旧的容器映像后收到 CannotPullContainer 错误,请重新部署容器映像以更新摘要。
要使用具有特定标签的最新容器映像,请更新服务并再次解析映像摘要。
**注意:**在使用 CODE_DEPLOY 或 EXTERNAL 部署控制器的服务中,无法解析容器映像标签。