本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立自訂映像並推送至 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 規格。
Dockerfile您可以在 Amazon SageMaker Unified Studio 使用者指南的 Dockerfile 範例中找到 SageMaker Unified Studio 的範例。 Amazon SageMaker -
在包含 的目錄中
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 執行的詳細資訊,請參閱 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 主控台