凭证不适用于“docker 登录”

问题描述 投票:0回答:14

将我的用户名和密码复制/粘贴到 Docker Hub 网站即可正常工作。

密码较长,但不含破壳符号。

将这些相同的凭据复制/粘贴到命令行中

docker login
会导致
incorrect username or password
错误。我尝试过以交互方式传递凭据(复制/粘贴和键入)并通过命令行参数传递,结果相同:

# INTERACTIVE
$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: [email protected]
Password: <REDACTED>
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

# COMMAND LINE
$ docker login -u [email protected] -p <REDACTED>
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
docker authentication credentials unauthorized
14个回答
47
投票

@mustaccio 是正确的。

Docker Hub 网站允许您使用用户名或电子邮件登录,并且该网站不需要区分大小写的用户名。

docker login
确实需要大小写正确的用户名,并且适用于您的电子邮件地址。

当我注册时,我选择了一个驼峰式的用户名,例如:

MyUsername

Docker 在实践中强制此用户名全部小写。登录后,您将在网站的右上角看到正确的用户名。在这个例子中:

myusername

该网站允许您使用 MyUsernamemyusername 登录。

docker login
仅允许我的用户名


12
投票

如果您没有注销并且输入了用于登录的电子邮件地址,也会发生同样的问题。

docker logout
docker login

不要输入电子邮件地址,而是输入用户名


5
投票

我使用了密码生成器,在密码中添加了特殊字符,我可以在浏览器中登录,但不能通过 cli 登录。我将其更改为仅字母和数字,并且成功了。


5
投票

试试这个:

  1. sudo chmod 666 /var/run/docker.sock
  2. sudo docker login

2
投票

我就这样解决了这个问题。 转到 https://hub.docker.com/settings/security 并在我的帐户中创建一个新令牌。

登录使用

docker login
命令 并输入:

myusername in lowercase

token (instead of password)


1
投票

如果您在 Windows 上使用 git bash,则使用以下命令:

 winpty docker login --username <yourusername>

它会提示输入密码。输入您的密码。显示“登录成功”消息。

登录docker官方网站右上角可以看到“你的用户名”。 您的电子邮件无法正常工作。


1
投票

如果有人在确保您的用户和通行证正确后仍然遇到此问题,请在帐户设置>安全>新访问令牌中生成令牌,我挣扎了一个小时,但使用令牌有效。不知道为什么


1
投票

对于任何犯我错误的人:运行 sudo docker login -u USERNAME。当它要求输入密码时,如果您是第一次在终端上运行 sudo,则它会要求输入 sudo 的第一个密码。输入您的 sudo 密码。然后,它会第二次要求输入密码,这是你输入 Docker 密码的地方。


0
投票

在 Windows 上: 右键单击系统托盘上的 docker 并注销。然后登录,但使用您的 docker hub 用户名而不是电子邮件地址。


0
投票

对于登录 hub.docker.com,对我有用的是确保您不要指定“hub.docker.com”!!!不同版本的 API-DNS?所有这一切都是在我花了一个小时更改密码、更改令牌等之后完成的。

简单来说:

docker login --username=myusername <enter>
theToken <enter>

0
投票

在密码中添加 @ 等特殊字符可能会导致从终端登录 docker 变得混乱,即使我们使用正确的大小写并且其他所有内容都正确。但如果我们在密码中使用特殊字符,它就可以在网站上工作。

所以基本上只在密码中使用字母和数字,不要使用特殊字符进行 docker 登录


0
投票
  1. docker登录
  2. 请勿使用电子邮件 ID。在 smallcase 中使用您的用户名,然后输入密码。
  3. 您应该已成功登录。

0
投票

请使用您的 DOCKER ID 和密码登录

这会立即起作用


0
投票

如果像我一样,您之前尝试登录但失败,则您的 pass 密码存储可能已经有一个密钥,这会导致 Docker CLI 出现某种未处理的异常。如果也像我一样,存储的密钥没有用,您可以按照以下说明将其删除。

$ pass #this will list your keys tree
$ pass rm -r KEY_OR_KEY_DIRECTORY #if your key is inside a node in the tree, then it's a directory and you must specify -r parameter for recursive deletion
© www.soinside.com 2019 - 2024. All rights reserved.