AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Amazon ECS タスクが古いコンテナイメージを使用している理由を知りたいです。

所要時間1分
0

サービスで 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 デプロイコントローラーを使用するサービスでは、コンテナイメージタグは解決されません。

AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ