Docker login失败问题的处理

原创
2019/03/14 06:31
阅读数 5.8W

Docker login失败问题的处理

先是在一台安装了docker 18的机器上发现无法登录,报错为:

Remote error from secret service: org.freedesktop.Secret.Error.IsLocked: Cannot create an item in a locked collection

完整信息,如下:

docker login registry.cn-hangzhou.aliyuncs.com
Username: xxx@163.com
Password: 
** Message: 05:55:27.024: Remote error from secret service: org.freedesktop.Secret.Error.IsLocked: Cannot create an item in a locked collection
Error saving credentials: error storing credentials - err: exit status 1, out: `Cannot create an item in a locked collection`

开始以为是Aliyun的问题,但是在另一台机器上是没问题的,找到了一个方案

sudo apt install gnupg2 pass 
gpg2 --full-generate-key
# 上面这个命令生成需要一些真随机条件,所以需要在电脑上多操作(比如乱打键盘、乱动鼠标、乱操作磁盘)。然而因为我是连远程服务器,无法操作本地键盘和鼠标,远程键盘和鼠标好像是没用的,所以只能另开一个窗口操作磁盘。

# 下面的命令显示生成的密钥信息
gpg2 -k

# 把上面显示结果中的[uid]后面的部分复制到下面的命令里
pass init "[uid]内容"

现在登录。

但是,使用下面的方式失败:

docker login registry.cn-hangzhou.aliyuncs.com
Username: xxxxx@163.com
Password:
Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: unauthorized: authentication required

如果把用户名放到命令行中,就可以了。如下(估计是docker ce的bug):

sudo docker login --username=xxx@163.com registry.cn-hangzhou.aliyuncs.com

然后,报告是成功的。信息如下:

sudo docker login --username=xxx@163.com registry.cn-hangzhou.aliyuncs.com
Password: 
WARNING! Your password will be stored unencrypted in /home/supermap/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

进行镜像的推送,都是可以的,如下:

docker push registry.cn-hangzhou.aliyuncs.com/openthings/databook

返回信息,显示正常。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
1 收藏
分享
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部