在內部 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 build 命令映像 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儲存庫標記映像的命令映像。

    如果您在嘗試完成本教學課程時遇到錯誤或遇到問題,請參閱本指南的疑難排解一節以取得協助。

清除

您現在已成功將 Docker 容器部署至 Amazon ECR儲存庫。若要從 AWS CloudShell 環境中移除您在本教學課程中建立的檔案,請執行下列命令。

  • cd ~ rm -rf ~/docker-cli-tutorial
  • 刪除 Amazon ECR儲存庫。

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