首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker总是说未授权:推送镜像时需要鉴权

Docker总是说未授权:推送镜像时需要鉴权
EN

Stack Overflow用户
提问于 2017-07-29 05:13:13
回答 1查看 7.2K关注 0票数 1

我是Docker的新手,正在尝试遵循官方的get started指南。

当我想要登录时,我输入docker login,然后输入我的登录名和密码。输出"Login Succeeded“。但是当我想用docker push drazik/get-started:part1推送图像时,它会输出“未授权:需要身份验证”。

我绝对确定我的登录名/密码是正确的。但有一件事很奇怪:我可以输入任何我想要的用户名和密码,docker login总是输出“登录成功”。

我的docker版本是"1.13.1,build 27e468e/1.13.1“。

有没有人能找出问题出在哪里?非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-07-29 21:22:49

请注意,登录时生成的授权令牌会保存到~/.docker/config.json中,并在推送镜像时从该文件中读取。

因此,以下是发生这种情况的唯一方法:

1-

您在DockerHub上使用的帐户登录名为:mylogin (绝对不是drazik)

您可以通过以下方式创建本地镜像:

代码语言:javascript
运行
复制
docker build -t drazik/get-started:part1 .

您可以这样登录Docker:

代码语言:javascript
运行
复制
% docker login
Username: mylogin
Password: ********

然后你这样推送图像:

代码语言:javascript
运行
复制
% docker push drazik/get-started:part1
The push refers to a repository [docker.io/drazik/get-started:part1]
5bef08742407: Preparing
unauthorized: authentication required

因此,这意味着您使用的不是帐户drazik,而是另一个帐户。

2-

您在登录、创建镜像和推送镜像时不会共享相同的本地帐号(例如,您以本地用户根用户身份登录DockerHub,以根用户身份创建镜像,但以简单用户身份推送镜像)。

因此,授权令牌保存在~root/.docker/config.json中,但docker push会尝试从~user/.docker/config.json中读取它

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45382496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档