内部 CloudShellに Docker コンテナを構築し、Amazon ECRリポジトリにプッシュする - AWS CloudShell

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

内部 CloudShellに Docker コンテナを構築し、Amazon ECRリポジトリにプッシュする

このチュートリアルでは、 で Docker コンテナを定義して構築 AWS CloudShell し、Amazon ECRリポジトリにプッシュする方法について説明します。

前提条件

チュートリアルの手順

次のチュートリアルでは、 CloudShell インターフェイスを使用して Docker コンテナを構築し、Amazon ECRリポジトリにプッシュする方法について説明します。

  1. ホームディレクトリに新しいフォルダを作成します。

    mkdir ~/docker-cli-tutorial
  2. 作成したフォルダに移動します。

    cd ~/docker-cli-tutorial
  3. 空の Dockerfile を作成します。

    touch Dockerfile
  4. 例えば などのテキストエディタを使用してファイルを開きnano Dockerfile、次のコンテンツを貼り付けます。

    # Dockerfile # Base this container on the latest Amazon Linux version FROM public.ecr.aws/amazonlinux/amazonlinux:latest # Install the cowsay binary RUN dnf install --assumeyes cowsay # Default entrypoint binary ENTRYPOINT [ "cowsay" ] # Default argument for the cowsay entrypoint CMD [ "Hello, World!" ]
  5. これで、Dockerfile を構築する準備が整いました。を実行してコンテナを構築しますdocker build。コンテナに、今後のコマンドで使用する easy-to-type 名前をタグ付けします。

    docker build --tag test-container .

    必ず末尾の期間 () を含めてください.

    内で実行される docker ビルドコマンドの画像 AWS CloudShell。
  6. コンテナをテストして、 で正しく実行されていることを確認できるようになりました AWS CloudShell。

    docker container run test-container
    内の docker コンテナ実行コマンドの画像 AWS CloudShell
  7. 機能している Docker コンテナができたので、Amazon ECRリポジトリにプッシュする必要があります。既存の Amazon ECRリポジトリがある場合は、このステップをスキップできます。

    次のコマンドを実行して、このチュートリアル用の Amazon ECRリポジトリを作成します。

    ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
    内に Amazon ECRリポジトリを作成するために使用されるコマンドの画像 AWS CloudShell
  8. Amazon ECRリポジトリを作成したら、Docker コンテナをプッシュできます。

    次のコマンドを実行して、Docker の Amazon ECRサインイン認証情報を取得します。

    AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text) ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
    Docker の Amazon ECRサインイン認証情報の取得に使用されるコマンドの画像。
    注記

    AWS_REGION環境変数が設定されていない場合、 CloudShell または他の のリソースとやり取りする場合は AWS リージョン、次のコマンドを実行します。

    AWS_REGION=<your-desired-region>
  9. ターゲット Amazon ECRリポジトリでイメージにタグを付け、そのリポジトリにプッシュします。

    docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
    ターゲット Amazon ECRリポジトリでイメージにタグを付けるために使用されるコマンドの画像。

    このチュートリアルを完了しようとしたときにエラーが発生したり、問題が発生した場合は、このガイドのトラブルシューティングセクションを参照してください。

クリーンアップ

これで、Amazon ECRリポジトリに Docker コンテナが正常にデプロイされました。このチュートリアルで作成したファイルを AWS CloudShell 環境から削除するには、次のコマンドを実行します。

  • cd ~ rm -rf ~/docker-cli-tutorial
  • Amazon ECRリポジトリを削除します。

    aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}