docker login & push失败问题记录

版本:

  • ubuntu 18.04
  • docker 19.03

执行 docker login 登录镜像仓库的时候,抛出如下异常:

Remote error from secret service: org.freedesktop.DBus.Error.UnknownMethod: 
No such interface ‘org.freedesktop.Secret.Collection’ on object at path /org/freedesktop/secrets/collection/login
Error saving credentials: error storing credentials - err: exit status 1, out: 
No such interface 'org.freedesktop.Secret.Collection' on object at path /org/freedesktop/secrets/collection/login

解决办法

因为服务器安装了 golang-docker-credential-hepers 包,这个包是在使用apt包管理器安装 docker-compose 时装上的。

解决办法是先通过apt卸载掉golang-docker-credential-hepers这个包:

apt purge golang-docker-credential-helpers

然后重新登录,成功:

docker login private-repo-url

接着就可以正常push镜像:

# 1.首先打tag
docker tag     image[:tag]|imageID       [repo-domain or url-name/]project-name/image-repo[:tag]
# 如果本地镜像非远程仓库名:tag,可以加tag改为上面格式,或者将原有镜像另建新名称,用imageID,如果镜像本身符合push格式,可略过

# 2.login后可以正常push
docker push xxxx.com/xxx/xxx-ubuntu16.04:1.0

如果是私有仓库,遇到下面报错,格式又没问题的情况下,那就是登录名的权限问题了,需要使用admin管理员账号登录。

总结两点,供参考:

  • login 权限问题,是否有push权限,私有仓库有这种问题

  • push 格式是否正确,默认docker hub下,用户名/仓库名:tag,private repo下, [repo-domain or url-name/]project-name/image-repo[:tag]

如果是公有仓库,如docker hub的仓库,直接docker login,然后输入username pwd,之后再执行docker push即可把镜像push到仓库中。

参考: https://blog.csdn.net/u014563974/article/details/104877494

posted on 2021-02-08 11:16  进击的davis  阅读(2326)  评论(0编辑  收藏  举报

导航