【问题标题】:How do I pull the pre-built docker images for SageMaker?如何为 SageMaker 拉取预先构建的 docker 映像?
【发布时间】:2019-09-23 01:41:16
【问题描述】:
我正在尝试为 SageMaker 提取 pre-built docker images。我能够成功地将docker login 发送到 ECR(我的 AWS 凭证)。当我尝试提取图像时,我得到了标准的no basic auth credentials。
也许我误会了……我以为那些 ECR 网址是公开的。
$(aws ecr get-login --region us-west-2 --no-include-email)
docker pull 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn
【问题讨论】:
标签:
amazon-web-services
docker
amazon-sagemaker
amazon-ecr
【解决方案1】:
自 2021 年 8 月 29 日起,get-login 已弃用,答案中的命令将不起作用。因此,使用 AWS CLI v2,这对我有用:
您需要在您的机器上登录 AWS CLI,然后将密码通过管道传输到您的 docker 登录,如下所示:
$ sudo aws ecr get-login-password --region <region> | sudo docker login --username AWS --password-stdin <account-id>.dkr.ecr.<region>.amazonaws.com
在离您最近的 aws 区域中查找 repo 的帐户 ID here;以及带有标签here的可用图像(按地区)。
那么你应该可以像这样拉图像:
$ sudo docker pull 720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-scikit-learn:0.23-1-cpu-py3
【解决方案2】:
您能否在问题中显示您的 ECR 登录命令和拉取命令?
对于 SageMaker 预构建映像 520713654638.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet:1.3.0-cpu-py3
我做的是:
- 登录 ECR
$(aws ecr get-login --no-include-email --registry-ids 520713654638 --region us-west-2)
- 拉图片
docker pull 520713654638.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet:1.3.0-cpu-py3
这些图像是公开可读的,因此您可以从任何 AWS 账户中提取它们。我猜你失败的原因是你没有在登录时指定 --registry-ids 。但是,如果您可以提供您的脚本以供其他人找出问题所在,那就更好了。