イメージのプル - Amazon ECR

イメージのプル

Amazon ECR で利用可能な Docker イメージを実行する場合、docker pull コマンドを使用してローカル環境にプルします。これはデフォルトのレジストリまたは他の AWS アカウントに関連付けられたレジストリから行うことができます。Amazon ECS タスク定義で Amazon ECR イメージを使用するには、「Amazon ECS での Amazon ECR イメージの使用」を参照してください。

重要

Amazon ECR では、ユーザーがレジストリへの認証を行って、Amazon ECR リポジトリに対するイメージのプッシュまたはプルを行う前に、IAM ポリシーを介して ecr:GetAuthorizationToken API への呼び出しを行う許可が必要です。Amazon ECR には、さまざまなレベルでユーザーアクセスを制御するいくつかのマネージド IAM ポリシーが用意されています。詳細については、「Amazon Elastic Container Registry のアイデンティティベースのポリシーの例」を参照してください。

Amazon ECR リポジトリから Docker イメージをプルするには

  1. イメージのプル元になる Amazon ECR レジストリに対して Docker クライアントを認証します。認証トークンは、使用するレジストリごとに取得する必要があり、トークンは 12 時間有効です。詳細については、「プライベートレジストリの認証」を参照してください。

  2. (オプション) プルするイメージを識別します。

    • レジストリ内のリポジトリは、aws ecr describe-repositories コマンドを使用してリストできます。

      aws ecr describe-repositories

      上のサンプルレジストリには、amazonlinux というリポジトリがあります。

    • リポジトリ内のイメージは、aws ecr describe-images コマンドで記述することができます。

      aws ecr describe-images --repository-name amazonlinux

      上記のリポジトリ例には、latest および 2016.09 というタグが付けられたイメージが、イメージダイジェスト sha256:f1d4ae3f7261a72e98c6ebefe9985cf10a0ea5bd762585a43e0700ed99863807 とともにあります。

  3. docker pull コマンドを使用してイメージをプルします。イメージ名の形式は、タグを使用してプルする場合は registry/repository[:tag]、ダイジェストを使用してプルする場合は registry/repository[@digest] とします。

    docker pull aws_account_id.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest
    重要

    repository-url not found: does not exist or no pull access エラーが表示された場合は、Amazon ECR で Docker クライアントを認証する必要があります。詳細については、「プライベートレジストリの認証」を参照してください。