我想扩展在此处找到的 Inferentia Pytorch 预构建 SageMaker docker 容器,但我无法提取基本映像...
首先我做-
$ aws ecr get-login-password --region eu-west-2 | docker login --username AWS --password-stdin 205493899709.dkr.ecr.eu-west-2.amazonaws.com
Login Succeeded
然后-
$ docker pull 205493899709.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-neo-pytorch:1.9-inf-py3
我收到以下错误:
来自守护程序的错误响应:205493899709.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-neo-pytorch 的拉取访问被拒绝,存储库不存在或可能需要“docker 登录”:被拒绝:用户:arn: aws:iam::[redacted]:user/[redacted] 无权对资源执行:ecr:BatchGetImage:arn:aws:ecr:eu-west-2:205493899709:repository/sagemaker-neo-pytorch,因为没有资源基于策略允许 ecr:BatchGetImage 操作
AWS 用户已附加
AmazonEC2ContainerRegistryPowerUser
权限,该权限允许执行 ecr:BatchGetImage
操作。
此外,我能够以同样的方式运行
docker pull 763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:2.0.0-gpu-py310
,没有任何问题
此映像的 ECR 存储库似乎限制直接拉取。此限制与您账户中的 IAM 权限无关,而是目标 ECR 存储库固有的 (
205493899709.dkr.ecr.eu-west-2.amazonaws.com
)。
某些 SageMaker 映像设计为按原样使用,无法用作 Dockerfile 中的源映像。这些映像通常配置为在 SageMaker 环境中直接使用,并且无法使用 Docker 进行扩展。
我建议您研究一下是否可以将依赖项和需求直接与模型捆绑在一起(有关更多详细信息,请参阅here)并按原样使用图像。如果这不可行,您可能需要从头开始创建一个全新的图像。
您还可以考虑联系 AWS 支持人员来讨论您的具体要求。