Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

での Amazon ECR サービスの使用 AWS Cloud9

フォーカスモード
での Amazon ECR サービスの使用 AWS Cloud9 - AWS Cloud9

AWS Cloud9 は、新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Cloud9 は、新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Elastic Container Registry (Amazon ECR) サービスには、IDE の AWS Explorer AWS Cloud9 から直接アクセスできます。Amazon ECR を使用して、プログラムイメージを Amazon ECR リポジトリにプッシュできます。使用を開始するには、次のステップに従います。

  1. イメージの構築に必要な情報を含む Dockerfile を作成します。

  2. その Dockerfile からイメージをビルドし、処理のためにイメージにタグを付けます。

  3. Amazon ECR インスタンス内にリポジトリを作成します。

  4. リポジトリにタグ付けされたイメージをプッシュします。

前提条件

AWS Toolkit for の Amazon ECR 機能を使用する前に AWS Cloud9、まずこれらの前提条件を満たしていることを確認してください。これらの前提条件は、 AWS Cloud9 Amazon EC2 AWS Cloud9 環境の IDE にプリインストールされており、Amazon ECR にアクセスするために必要です。

1. Dockerfile の作成

Docker は Dockerfile というファイルを使用して、リモートリポジトリにプッシュおよび保存できるイメージを定義します。ECR リポジトリにイメージをアップロードする前に、Dockerfile を作成し、その Dockerfile からイメージをビルドします。

Dockerfile の作成
  1. Dockerfile を保存するディレクトリに移動するには、 AWS Cloud9 IDE 内の左側のナビゲーションバーにある [Toggle Tree] (ツリーの切り替え) オプションを選択します。

  2. Dockerfile という名前の新しいファイルを作成します。

    注記

    AWS Cloud9 IDE では、ファイルタイプまたはファイル拡張子を選択するように求められる場合があります。これが発生した場合は、plaintext. AWS Cloud9 IDE に「dockerfile」拡張子が付いていることを選択します。ただし、使用することは推奨されていません。これは、拡張機能が特定のバージョンの Docker または他の関連アプリケーションと競合する可能性があるためです。

IDE を使用した Dockerfile AWS Cloud9 の編集

Dockerfile にファイル拡張子がある場合は、そのファイルのコンテキスト (右クリック) メニューを開き、ファイル拡張子を削除します。拡張子を持つ Dockerfile は、Docker の特定のバージョンやその他の関連アプリケーションと競合する可能性があります。

Dockerfile からファイル拡張子を削除したら、次の操作を行います。

  1. IDE で空の Dockerfile AWS Cloud9 を直接開きます。

  2. 次の例の内容を Dockerfile にコピーします。

    例 Dockerfile イメージテンプレート
    FROM ubuntu:22.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Install apache and write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Configure apache RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \ echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh EXPOSE 80 CMD /root/run_apache.sh

    これは Ubuntu 22.04 イメージを使用する Dockerfile です。実行命令は、パッケージキャッシュを更新します。ウェブサーバー用のいくつかのソフトウェアがインストールされてから、「Hello World!」 ウェブサーバーのドキュメントルートに書き込まれます。EXPOSE の命令はコンテナ上のポート 80 を公開し、CMD の命令はウェブサーバーを起動します。

  3. Dockerfile を保存します。

2. Dockerfile からイメージをビルドする

作成した Dockerfile には、プログラムのイメージを構築するために必要な情報が含まれています。そのイメージを Amazon ECR インスタンスにプッシュする前に、まずイメージをビルドします。

Dockerfile からイメージをビルドする
  1. Dockerfile を含むディレクトリに移動するには、Docker のインスタンスと統合された Docker CLI または CLI を使用します。

  2. Dockerfile で定義されているイメージをビルドするには、Dockerfile と同じディレクトリから Docker ビルドコマンドを実行します。

    docker build -t hello-world .
  3. イメージが正しく作成されたことを検証するには、Docker イメージ コマンドを実行します。

    docker images --filter reference=hello-world

    出力は次のとおりです。

    REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
  4. Ubuntu 22.04 に基づいて新しくビルドされたイメージを実行するには、echo コマンドを使用します。

    注記

    このステップは、イメージの作成やプッシュには必要ありません。ただし、プログラムイメージの実行時の動作を確認できます。

    FROM ubuntu:22.04 CMD ["echo", "Hello from Docker in Cloud9"]

    次に Dockerfile を実行して構築します。このコマンドは、Dockerfile と同じディレクトリから実行する必要があります。

    docker build -t hello-world . docker run --rm hello-world

    出力は次のとおりです。

    Hello from Docker in Cloud9

    Docker run コマンドの詳細については、Docker ウェブサイトの「Docker run reference」を参照してください。

3. 新しいリポジトリの作成

Amazon ECR インスタンスにイメージをアップロードするには、保存できる新しいリポジトリを作成します。

新しい Amazon ECR リポジトリの作成
  1. IDE AWS Cloud9 ナビゲーションバーから、AWS ツールキットアイコンを選択します。

  2. AWS Explorer メニューを拡張します。

  3. AWS リージョン に関連付けられているデフォルトを見つけます AWS アカウント。次に、これを選択すると、IDE AWS Cloud9 経由のサービスのリストが表示されます。

  4. ECR オプションのコンテキスト (右クリック) メニューを開いて、新しいリポジトリの作成プロセスを開始します。次に、[Create Repository] (リポジトリの作成) を選択します。

  5. プロセスを完了するには、プロンプトに従います。

  6. プロセスが完了したら、 AWS Explorer メニューの ECR セクションから新しいリポジトリにアクセスできます。

4. イメージのプッシュ、プル、削除

Dockerfile からイメージを構築してリポジトリを作成したら、イメージを Amazon ECR リポジトリにプッシュできます。さらに、Docker と AWS CLI で AWS Explorer を使用すると、次の操作を実行できます。

  • イメージをリポジトリからプルします。

  • リポジトリに保存されているイメージを削除します。

  • リポジトリを削除します。

デフォルトレジストリでの Docker の認証

Amazon ECR インスタンスと Docker インスタンス間でデータを交換するには、認証が必要です。レジストリで Docker を認証するには

  1. IDE AWS Cloud9 内でターミナルを開きます。

  2. get-login-password メソッドを使用してプライベート ECR レジストリを認証し、リージョンと AWS アカウント ID を入力します。

    aws ecr get-login-password \ --region <region> \ | docker login \ --username AWS \ --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
    重要

    前述のコマンドで、regionAWS_account_id を、 AWS アカウントに固有の情報に置き換えます。有効な region の値は us-east-1 です。

イメージへのタグ付けとレポジトリへのプッシュ

のインスタンスで Docker を認証したら AWS、イメージをリポジトリにプッシュします。

  1. docker images コマンドを使用して、ローカルに保存したイメージを表示し、タグ付けするイメージを特定します。

    docker images

    出力は次のとおりです。

    REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
  2. Docker コマンドを使用してイメージをビルドします。

    docker tag hello-world:latest AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest
  3. リポジトリに Docker プッシュコマンドでタグ付けされたイメージをプッシュします。

    重要

    ローカルリポジトリの名前が AWS Amazon EC2 リポジトリと同じであることを確認します。この例では、両方のリポジトリの名前が「hello-world」である必要があります。Docker によるイメージのプッシュの詳細については、「Docker イメージをプッシュする」を参照してください。

    docker push AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest

    出力は次のとおりです。

    The push refers to a repository [AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world] (len: 1) e9ae3c220b23: Pushed a6785352b25c: Pushed 0998bf8fb9e9: Pushed 0a85502c06c9: Pushed latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774

タグ付けされたイメージがリポジトリに正常にアップロードされたら、Explorer タブから Refresh Explorer を選択して AWS Toolkit AWS を更新します。その後、IDE AWS Cloud9 の AWS Explorer メニューに表示されます。

Amazon ECR からのイメージのプル
  • イメージは、Docker タグコマンドのローカルインスタンスにプルできます。

    docker pull AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest

    出力は次のとおりです。

    azonaws.com/hello-world:latest latest: Pulling from hello-world Digest: sha256:e02c521fd65eae4ef1acb746883df48de85d55fc85a4172a09a124b11b339f5e Status: Image is up to date for 922327013870.dkr.ecr.us-west-2.amazonaws.com/hello-world.latest
Amazon ECR リポジトリからのイメージの削除

IDE からイメージを削除する方法は 2 AWS Cloud9 つあります。最初の方法は AWS Explorer を使用することです。

  1. AWS Explorer から ECR メニューを展開します。

  2. イメージを削除するリポジトリを展開します。

  3. 削除するイメージに関連付けられているイメージタグのコンテキストメニュー (右クリック) を開きます。

  4. そのタグに関連付けられているすべての保存されたイメージを削除するには、[タグの削除...] を選択します。

CLI AWS を使用したイメージの削除
  • AWS ecr batch-delete-image コマンドを使用して、リポジトリからイメージを削除することもできます。

    aws ecr batch-delete-image \ --repository-name hello-world \ --image-ids imageTag=latest

    出力は次のとおりです。

    { "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }
Amazon ECR インスタンスからのリポジトリの削除

IDE からリポジトリを削除する方法は 2 AWS Cloud9 つあります。最初の方法は Explorer AWS を使用することです。

  1. AWS Explorer から ECR メニューを展開します。

  2. 削除するリポジトリのコンテキスト (右クリック) メニューを開きます。

  3. [Delete Repositor...] (リポジトリを削除...) を選択します。

CLI からの Amazon ECR AWS リポジトリの削除
  • リポジトリは、AWS ecr delete-repository コマンドで削除できます。 

    注記

    通常、まずリポジトリに含まれるイメージを削除しないと、リポジトリを削除することはできません。ただし、--force フラグを追加すると、リポジトリとそのすべてのイメージを 1 ステップで削除できます。

    aws ecr delete-repository \ --repository-name hello-world \ --force

    出力は次のとおりです。

    --repository-name hello-world --force { "repository": { "repositoryUri": "922327013870.dkr.ecr.us-west-2.amazonaws.com/hello-world", "registryId": "922327013870", "imageTagMutability": "MUTABLE", "repositoryArn": "arn:aws:ecr:us-west-2:922327013870:repository/hello-world", "repositoryName": "hello-world", "createdAt": 1664469874.0 } }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.