Amazon ECS クラスターでタスクを開始できないときに発生する、イメージが存在しないというエラーを解決する方法を教えてください。

所要時間1分
0

Amazon Elastic Container Service (Amazon ECS) サービスがクラスター内のタスクを開始できず、次のエラーが発生します。 "CannotPullContainerError: デーモンからのエラー応答: 1234567890.dkr.ecr.us-east-1.amazonaws.com/test:curlnginx1234 のマニフェストが見つかりません。"

簡単な説明

このエラーは、Amazon Elastic Container Registry (Amazon ECR) のプライベートリポジトリからイメージをプルするときに発生します。

このエラーメッセージが表示されていない場合は、問題またはエラーメッセージに対して次の解決策のいずれかを選択してください。

注: Amazon ECS サービスの問題をトラブルシューティングするには、サービスイベントログの診断情報を確認してください。

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

イメージが存在しないというエラーを解決するには、次の手順を実行します。

  1. イメージが Amazon ECS タスク定義で宣言されていることを確認します。詳細については、「イメージ」を参照してください。
  2. Docker イメージが Amazon ECR リポジトリに存在することを確認します。詳細については、「Amazon ECR でイメージの詳細情報を確認する」を参照してください。リポジトリ情報を確認するには、Amazon ECR コンソールを使用します。または、次のコマンドを実行します。
    ECR リポジトリにイメージが存在することを確認するには、list-images コマンドを実行します。
    aws ecr list-images --repository-name "hello-world"  --region us-east-1
    ECR リポジトリ内のイメージをフィルター処理するには、describe-images コマンドを実行します。
    aws ecr describe-images --repository-name "hello-world" --region us-east-1 --query 'sort_by(imageDetails,& imagePushedAt)[*]'
    注: repository-nameregion の値は、お使いのものに置き換えます。
  3. タスク定義で Amazon ECR イメージを指定します。イメージの完全な URI を使用します。詳細については、「Amazon ECR イメージとタスク定義 IAM ロール」を参照してください。
    重要: 画像の URI の先頭または末尾にスペースがないことを確認してください。

関連情報

Amazon ECR のプライベートイメージ

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

関連するコンテンツ