當 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_DEPLOY 或 EXTERNAL 部署控制器的服務中無法解析容器映像檔標籤。