將應用程式容器發佈到亞馬遜 ECR - AWS RoboMaker

支援終止通知:在 2025 年 9 月 10 日, AWS 將停止對 的支援 AWS RoboMaker。2025 年 9 月 10 日後,您將無法再存取 AWS RoboMaker 主控台或 AWS RoboMaker 資源。如需有關轉換至 AWS Batch 以協助執行容器化模擬的詳細資訊,請造訪此部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將應用程式容器發佈到亞馬遜 ECR

模擬任務AWS RoboMaker中使用的容器必須存放在 Amazon 彈性容器登錄 (ECR) 中,這是一個完全受管的容器登錄檔。成功建置應用程式容器後,您必須將它們推送到 Amazon ECR。本節將告訴您如何做到。

若要開始使用,您可以設定一些在後續命令中重複使用的環境變數來儲存一些重複輸入。

export robotapp=robomaker-helloworld-robot-app export simapp=robomaker-helloworld-sim-app export account=<YOUR AWS ACCOUNT NUMBER> export region=<YOUR AWS REGION> export ecruri=$account.dkr.ecr.$region.amazonaws.com

接下來,登錄並創建兩個新存儲庫。

aws ecr get-login-password --region $region | docker login --username AWS --password-stdin $ecruri aws ecr create-repository --repository-name $robotapp aws ecr create-repository --repository-name $simapp

您可以使用亞馬遜 ECR 儲存庫的 URI 標記碼頭映像檔。

docker tag $robotapp $ecruri/$robotapp:latest docker tag $simapp $ecruri/$simapp:latest

接下來,將 Docker 映像推送到 Amazon ECR。

docker push $ecruri/$robotapp docker push $ecruri/$simapp

最後,您可以執行下列命令來確認已上傳至 Amazon ECR 的影像。

aws ecr list-images --repository-name $simapp aws ecr list-images --repository-name $robotapp

以下程式碼片段顯示了預期的輸出:

Administrator:~/environment/helloworld (ros1) $ aws ecr list-images --repository-name $simapp { "imageIds": [ { "imageDigest": "sha256:28cad40230402343024kf303f30fk20f2f2fa0a8148", "imageTag": "latest" } ] } Administrator:~/environment/helloworld (ros1) $ aws ecr list-images --repository-name $robotapp { "imageIds": [ { "imageDigest": "sha256:28cad40230402343024kf303f30fk20f2f2fa0a8148", "imageTag": "latest" } ] }

您的機器人和模擬 Docker 映像現在已在 Amazon ECR 中託管。在繼續提交模擬工作之前,您必須將這些影像與自動機械手應用程式或模擬應用程式相關聯。

版本控制

AWS RoboMaker 支援建立超過一個版本的機器人應用程式和模擬應用程式。這可協助您控制機器人和模擬使用哪些程式碼。版本是應用程式 $LATEST 版本的快照。在開發工作流程的不同部分中建立要使用的版本。例如,開發、Beta 部署或生產。

建立 AWS RoboMaker 機器人應用程式或模擬應用程式的版本時,您會建立應用程式的快照。Amazon ECR 使用影像摘要來指示應用程式的版本。 AWS RoboMaker記住每個版本的圖像摘要。

如果您已將映像上傳到 Amazon ECR,但尚未更改映像摘要,則可以存取和使用該版本的應用程式。每個應用程式最多可建立 40 個版本。

建立影像時,您也可以將標記套用至該影像。您可以指定標籤字段的值作latest$LATEST版本。這些值彼此不同。

有兩種方式,一個圖像獲取latest標籤:

  • 您指定了值為的標籤latest

  • 您推送沒有latest標籤的映像,在這種情況下,Amazon ECR 會使用標籤更新映像。

當您在中指定影像的標記時AWS RoboMaker,一律會挑選影像做為$LATEST版本。例如,如果您使用影像名稱myImage、標籤xyz和影像摘要建立自動機制應用程式123,則$LATEST版本會myImage:xyz包含摘要123

下列是您應該新增標籤的案例:

  • 您更新$LATEST版本以使用新標籤。例如,如果您有圖像myImage,則可以使用標籤更新圖像abc。影像的$LATEST版本指向myImage:abc

  • 您可以更新影像並重新標記它。例如,您可以變更具有標記的影像abc。您可以在更新標籤xyz後使用該標籤。$LATEST版本指向myImage:xyz

如需詳細資訊,請參閱 版本化應用