翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
内部 CloudShellに Docker コンテナを構築し、Amazon ECRリポジトリにプッシュする
このチュートリアルでは、 で Docker コンテナを定義して構築 AWS CloudShell し、Amazon ECRリポジトリにプッシュする方法について説明します。
前提条件
Amazon ECRリポジトリを作成してプッシュするために必要なアクセス許可が必要です。Amazon でのリポジトリの詳細についてはECR、「Amazon ECR ユーザーガイド」の「Amazon ECRプライベートリポジトリ」を参照してください。Amazon でイメージをプッシュするために必要なアクセス許可の詳細についてはECR、「Amazon ECR ユーザーガイド」の「イメージをプッシュするために必要なIAMアクセス許可」を参照してください。
チュートリアルの手順
次のチュートリアルでは、 CloudShell インターフェイスを使用して Docker コンテナを構築し、Amazon ECRリポジトリにプッシュする方法について説明します。
ホームディレクトリに新しいフォルダを作成します。
mkdir ~/docker-cli-tutorial
作成したフォルダに移動します。
cd ~/docker-cli-tutorial
空の Dockerfile を作成します。
touch Dockerfile
例えば などのテキストエディタを使用してファイルを開き
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!" ]
これで、Dockerfile を構築する準備が整いました。を実行してコンテナを構築します
docker build
。コンテナに、今後のコマンドで使用する easy-to-type 名前をタグ付けします。docker build --tag test-container .
必ず末尾の期間 () を含めてください
.
。コンテナをテストして、 で正しく実行されていることを確認できるようになりました AWS CloudShell。
docker container run test-container
機能している Docker コンテナができたので、Amazon ECRリポジトリにプッシュする必要があります。既存の Amazon ECRリポジトリがある場合は、このステップをスキップできます。
次のコマンドを実行して、このチュートリアル用の Amazon ECRリポジトリを作成します。
ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
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}
注記
でAWS_REGION環境変数が設定されていない場合、 CloudShell または他の のリソースとやり取りする場合は AWS リージョン、次のコマンドを実行します。
AWS_REGION=<your-desired-region>
ターゲット Amazon ECRリポジトリでイメージにタグを付け、そのリポジトリにプッシュします。
docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
このチュートリアルを完了しようとしたときにエラーが発生したり、問題が発生した場合は、このガイドのトラブルシューティングセクションを参照してください。
クリーンアップ
これで、Amazon ECRリポジトリに Docker コンテナが正常にデプロイされました。このチュートリアルで作成したファイルを AWS CloudShell 環境から削除するには、次のコマンドを実行します。
cd ~ rm -rf ~/docker-cli-tutorial
Amazon ECRリポジトリを削除します。
aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}