【问题标题】:How to pull AWS Lambda container image如何拉取 AWS Lambda 容器镜像
【发布时间】:2024-05-19 23:15:01
【问题描述】:

我正在尝试在 AWS Lambda 上运行 Docker 容器。 具体来说,我正在关注this official tutorial

我有以下Dockerfile

FROM public.ecr.aws/lambda/nodejs:12

COPY app app.js package.json /var/task/
RUN npm install

CMD [ "app.handler" ]

但是,当我尝试构建它时,我收到以下错误:

docker build -t hello-world .

Sending build context to Docker daemon  4.608kB
Step 1/4 : FROM public.ecr.aws/lambda/nodejs:12
pull access denied for public.ecr.aws/lambda/nodejs, repository does not exist or may require 'docker login': denied: Your authorization token has expired. Reauthenticate and try again.

当我使用docker login 命令登录时,我仍然收到同样的错误。

有谁知道如何解决这个问题?

【问题讨论】:

    标签: amazon-web-services docker amazon-ecr


    【解决方案1】:

    在这里工作正常。您不需要公共 ECR 的凭据(您可以specific cases 使用身份验证),但如果您只想使用它,请删除现有凭据

    docker logout public.ecr.aws
    

    然后再次尝试构建。

    也就是说,如果你还想使用认证,你需要重新认证为described in the doc

    aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws
    

    【讨论】: