我刚刚设置了一个运行 Nexus 的本地虚拟机。我已在端口 5000 上配置了 Docker 存储库。我有一个运行 Docker 的单独虚拟机。我已经在 /etc/docker/daemon.json 中配置了存储库,如下所示:
{
"insecure-registries": ["192.168.0.5:5000", "nexus:5000"]
}
然后我重新启动了 Docker 服务。我已经运行了命令:
docker login 192.168.0.5:5000
系统提示我输入用户名和密码,当我输入它们时,它会返回::
来自守护进程的错误响应:获取 https://registry-1.docker.io/v2/: 未经授权:用户名或密码不正确
我已经检查了 Docker 文档和其他有关如何登录本地 docker 存储库的在线资源,但我有完全相同的配置,但它总是抛出此错误。
如果我尝试推送我的图像,它会尝试联系本地存储库,但它抱怨没有凭据(也应该如此):
[root@docker repo]$ docker tag repo 192.168.0.5:5000/repo
[root@docker repo]$ docker image push 192.168.0.5:5000/repo
Using default tag: latest
The push refers to repository [192.168.0.5:5000/repo]
7d5760c4aa8d: Preparing
3102e53269f4: Preparing
2f140462f3bc: Preparing
63c99163f472: Preparing
ccdbb80308cc: Preparing
no basic auth credentials
我错过了什么吗?
我也遇到过同样的情况,但仅限于 MacOS“Docker Desktop”安装。在 Windows 上,它按预期工作。
Client:
Cloud integration: 1.0.17
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:55:20 2021
OS/Arch: darwin/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:31 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
当我尝试登录本地注册表(使用 Artifactory)时,我检查了反向代理的日志。 MacOS 客户端甚至不会尝试访问本地注册表。
我通过将 Docker Desktop 从 4.1.0 更新到 4.1.1 修复了这个问题。对我来说似乎是一个未记录的错误修复。