当前位置: 首页 > 知识库问答 >
问题:

在使用docker拉aws深度学习容器时,如何解决未经授权访问401错误?

狄法
2023-03-14

我尝试用docker构建detectron2图像,以便与AWS SageMaker一起使用。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存储库中提取图像。它抛出了错误

错误[internal]加载763104351884的元数据。dkr。ecr。欧盟中央1号。亚马逊。com/Pytork培训:1.6.0-gpu 0.4s------

我必须提到,我在尝试构建之前成功登录,我对我的用户拥有完全ECR权限。

共有1个答案

庄弘业
2023-03-14

您可能登录了您的ECR私人帐户,但没有登录docker

在下面输入您的地区和帐户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
 类似资料:
  • 只要我的antMatcher上有.permitall(),这就可以很好地工作,但是当我试图保护它以便只有管理员才能进行该调用时(DB中的管理员角色是ROLE_ADMIN),它会返回401未经授权的访问,并且没有消息。我试过了 .hasRole(“admin”) .hasRole(“role_admin”) .hasAuthority(“admin”) .hasAuthority(“role_adm

  • 我的代码:GoogleCredential凭据 credential.refreshToken() 错误日志: 创建服务号的步骤: 我在凭据中的oauth 2.0中创建了一个Web应用程序 然后我用客户端ID创建了一个服务号 现在我正在使用这个服务号和从它生成的p12证书来验证和创建Google凭据的对象 一旦刷新令牌,我就给了我401例外。 在这种情况下,任何帮助都会受到感激

  • 我想在Visual Studio 2008中将one drive for business集成到我的windows窗体应用程序中。我已经按照链接“https://dev . one drive . com/auth/aad _ oauth . htm”进行了Azure注册和Office 365认证。我可以获得登录用户的“https://{ tenant }-my . SharePoint . co

  • 提前感谢你花时间帮助我。 我试着把它放入application.properties 我制作了以下文件 文件夹结构 玩家 普拉耶尔道 FakePlayerDataAccessService 播放控制器 聚甲醛

  • 我们正在使用AWS Lambda授权器和API网关来保护我们的下游API。 下面是我们基于Java的lambda授权程序的代码片段 我们需要401(“未经授权”)作为一个回应,有人能请帮助如何做这一点吗?我们有用Java编写的lambda授权器。

  • Microsoft.Graph REST.API 我试图通过https://graph.microsoft.com/v1.0/me从graph.api获得有关我的信息 我也在这里检查这个其他主题,但我找不到像我一样的错误