跳至內容

為什麼我的 Amazon ECS 任務會使用較舊的容器映像檔?

1 分的閱讀內容
0

當 Amazon Elastic Container Service (Amazon ECS) 任務在我的服務中啟動時,會使用較舊的容器映像檔。此外,當我刪除較舊的容器映像檔時,任務不會啟動,並且我會收到 "CannotPullContainer" 錯誤。

簡短描述

當您在服務上部署容器映像檔時,容器映像檔標籤將解析為容器映像檔摘要。摘要包含映像檔的權威中繼資料,因此直到再次部署容器映像檔時,容器映像檔的變更才會反映出來。在服務上重新部署容器映像檔後,摘要會更新。

如需詳細資訊,請參閱容器映像檔解析宣布 Amazon ECS 的軟體版本一致性

解決方法

更新您的 ECS 服務

若要更新映像檔摘要,請使用 Amazon ECS 主控台或 AWS Command Line Interface (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_DEPLOYEXTERNAL 部署控制器的服務中無法解析容器映像檔標籤。

AWS 官方已更新 1 年前