我正在尝试在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
命令登录时,我仍然得到相同的错误。
有人知道如何解决这个问题吗?
2条答案
按热度按时间nuypyhwy1#
在这里工作得很好。您不需要公共ECR的凭据(您可以对specific cases使用auth),但如果您只想使用它,请删除现有凭据
然后再次尝试构建。
也就是说,如果您仍然希望使用身份验证,则需要按照文档中的描述重新进行身份验证
rdrgkggo2#
运行命令:
docker logout public.ecr.aws
详细信息:我在尝试为sam(无服务器应用程序模型)拉取图像时遇到了类似的错误,如下所示:
根据官方文档,要解决此问题,您可以重新验证到Amazon ECR Public,也可以从Amazon ECR Public注册表中注销Docker CLI,然后重新尝试提取未经验证的映像。