如何解决使用 docker 拉出 aws 深度学习容器时,如何解决出现未经授权访问 401 错误的问题?
为了与 AWS SageMaker 一起使用,我尝试使用 docker 构建detectron2 映像。 dockerfile 如下所示:
ARG REGION="eu-central-1"
FROM 763104351884.dkr.ecr.$REGION.amazonaws.com/pytorch-training:1.6.0-gpu-py36-cu101-ubuntu16.04
RUN pip install --upgrade torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
############# Detectron2 section ##############
RUN pip install \
--no-cache-dir pycocotools~=2.0.0 \
--no-cache-dir https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.6/detectron2-0.4%2Bcu101-cp36-cp36m-linux_x86_64.whl
ENV FORCE_CUDA="1"
# Build D2 only for Volta architecture - V100 chips (ml.p3 AWS instances)
# ENV TORCH_CUDA_ARCH_LIST="Volta"
# Set a fixed model cache directory. Detectron2 requirement
ENV FVCORE_CACHE="/tmp"
############# SageMaker section ##############
COPY container_training/sku-110k /opt/ml/code
WORKDIR /opt/ml/code
ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code
ENV SAGEMAKER_PROGRAM training.py
WORKDIR /
ENTRYPOINT ["bash","-m","start_with_right_hostname.sh"]
问题是,当我运行 docker build 命令时,它无法从 AWS ECR 存储库中提取映像。它抛出错误
错误 [内部] 加载元数据 763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.6.0-gpu 0.4s ------> [内部] 加载 763104351884.dkr.ecr.eu-central- 的元数据1.amazonaws.com/pytorch-training:1.6.0-gpu-py36-cu101-ubuntu16.04: ------ 用前端dockerfile.v0解决失败:无法创建LLB 定义:意外状态码 [manifests 1.6.0-gpu-py36-cu101-ubuntu16.04]:401未经授权
我不得不提一下,我在尝试构建之前成功登录,并且我对我的用户拥有完整的 ECR 权限。
解决方法
您可能登录了您的 ECR 私人帐户,但未登录到 docker 和共享 ECR 存储库来检索 Pytorch 基本映像,如下所示:
在下方输入您的地区和帐户 ID,然后执行以下单元格即可。
%%bash
REGION=YOUR_REGION
ACCOUNT=YOUR_ACCOUNT_ID
aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin 763104351884.dkr.ecr.$REGION.amazonaws.com
# loging to your private ECR
aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ACCOUNT.dkr.ecr.$REGION.amazonaws.com
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。