本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立自訂映像並推送至 Amazon ECR
此頁面提供如何建立本機 Dockerfile、建置容器映像,並將其新增至 Amazon Elastic Container Registry (Amazon ECR) 的指示。
注意
在下列範例中,不會指定標籤,且預設會套用 latest 標籤。如果您想要指定標籤,則需要將 : 附加到映像名稱的結尾。如需詳細資訊,請參閱「Docker 文件」中的 Docker 映像檔標籤tag
建立本機 Dockerfile 並建置容器映像
使用下列指示,搭配所需軟體和相依性建立 Dockerfile。
建立 Dockerfile
-
首先為後續的 AWS CLI 命令設定變數。
LOCAL_IMAGE_NAME=local-image-name是您在這裡定義的本機裝置上的容器映像名稱。local-image-name -
建立名為
Dockerfile且符合 自訂映像規格 中規格的文字型文件。您可以在 Dockerfile 範例 中找到受支援應用程式的
Dockerfile範例。注意
如果您要將自有映像帶入 SageMaker Unified Studio,則需要遵循《Amazon SageMaker Unified Studio 使用者指南》中的 Dockerfile 規格。
您可以在《Amazon SageMaker Unified Studio 使用者指南》的 Dockerfile 範例中找到 SageMaker Unified Studio 的
Dockerfile範例。 -
在包含
Dockerfile的目錄中,使用下列命令建置 Docker 映像檔。句點 (.) 指定Dockerfile應該在組建命令的上下文中。docker build -t ${LOCAL_IMAGE_NAME} .建置完成後,您可以使用下列命令列出容器映像資訊。
docker images -
(選用) 您可以使用下列命令測試映像。
docker run -it ${LOCAL_IMAGE_NAME}在輸出中,您將發現您的伺服器正在 URL 上執行,例如
http://127.0.0.1:8888/...。您可以透過將 URL 複製到瀏覽器來測試映像。如果這無法運作,您可能需要在 docker run 命令中包含
-p。此選項會將容器上的公開連接埠對應至主機系統上的連接埠。如需 docker run 的詳細資訊,請參閱「Docker 文件」中的執行容器port:port。 一旦確認了伺服器運作正常,您就可以停止伺服器並關閉所有核心,然後再繼續。這些指示可供輸出檢視。
將 Docker 映像檔新增至 Amazon ECR
若要將容器映像新增至 Amazon ECR,您需要執行下列動作:
-
建立 Amazon ECR 儲存庫。
-
登入您的預設登錄檔。
-
將映像推送至 Amazon ECR 儲存庫。
注意
Amazon ECR 儲存庫必須與您連接映像的網域 AWS 區域 位於相同的 中。
建置容器映像並將其推送至 Amazon ECR
-
首先為後續的 AWS CLI 命令設定變數。
ACCOUNT_ID=account-idREGION=aws-regionECR_REPO_NAME=ecr-repository-name-
是您的帳戶 ID。您可以在任何 AWS 主控台頁面的右上角找到此項目。例如,SageMaker AI 主控台account-id。 -
是 Amazon SageMaker AI 網域 AWS 區域 的 。您可以在任何 AWS 主控台頁面的右上角找到此項目。aws-region -
是您在這裡定義的 Amazon Elastic Container Registry 儲存庫名稱。若要檢視 Amazon ECR 儲存庫,請參閱 Amazon ECR 主控台ecr-repository-name。
-
-
登入 Amazon ECR 並登入 Docker。
aws ecr get-login-password \ --region ${REGION} | \ docker login \ --username AWS \ --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com驗證成功後,您將收到成功登入訊息。
重要
如果收到錯誤,您可能需要安裝或升級至最新版本的 AWS CLI。如需詳細資訊,請參閱「AWS Command Line Interface 使用者指南」中的安裝 AWS Command Line Interface。
-
以與 Amazon ECR 相容的格式標記映像,來推送到您的儲存庫。
docker tag \ ${LOCAL_IMAGE_NAME} \ ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME} -
使用 AWS CLI命令在 Amazon ECR 儲存庫中建立儲存庫。若要使用 Amazon ECR 主控台建立儲存庫,請參閱建立 Amazon ECR 私有儲存庫來存放映像。
aws ecr create-repository \ --region ${REGION} \ --repository-name ${ECR_REPO_NAME} -
將映像推送至您的 Amazon ECR 儲存庫。您也可以標記 Docker 映像檔。
docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
一旦映像成功新增至 Amazon ECR 儲存庫,您就可以在 Amazon ECR 主控台