如何拉取AWSLambda容器镜像
我正在尝试在 AWS Lambda 上运行 Docker 容器。具体来说,我正在关注这个官方教程
我有以下 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命令登录时,我仍然遇到相同的错误。
有谁知道如何解决这个问题?
回答
在这里工作正常。您不应该需要公共 ECR 的凭据(您可以在特定情况下使用 auth ),但如果您只想使用它,请删除现有凭据
docker logout public.ecr.aws
然后再次尝试构建。
也就是说,如果您仍然想使用身份验证,则需要按照文档中的描述重新进行身份验证
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws