The*_*eth 5 nexus docker kubernetes
我们正在尝试在Kubernetes集群中的Nexus OSS(v3.3.2-02)中设置Docker存储库,并且在登录时遇到问题.我们打算使用以下配置为DockerHub设置代理,私有仓库和组合仓库将两者捆绑在一起
给我们以下列表:
但是当我尝试登录到存储库时,它似乎正在尝试将我转发到/v2端点,这会引发404错误:
> docker login -u <user> -p <pass> https://repo.myhost.com:443
Error response from daemon: login attempt to https://repo.myhost.com:443/v2/ failed with status: 404 Not Found
Run Code Online (Sandbox Code Playgroud)
我想补充一点,我们在同一个实例中设置了Maven和NPM存储库并且它们正在工作,所以看起来Nexus本身没问题,但是Docker配置有问题.
我不知道为什么这个请求/v2在尝试登录时试图将我发送到端点.我错过了什么?
在我刚刚运行的一个实验中(docker-machine、virtualbox、macOS),当服务器为1.13.1(docker cli 也是如此)时,它从/v2down优雅降级到/v1,如下所示:
level=debug msg="Calling GET /_ping"
level=debug msg="Calling GET /v1.26/version"
level=debug msg="Calling GET /_ping"
level=debug msg="Calling GET /v1.26/version"
level=debug msg="Calling GET /_ping"
level=debug msg="Calling GET /v1.26/info"
level=debug msg="Calling POST /v1.26/auth"
level=debug msg="attempting v2 login to registry endpoint https://192.168.2.103:9999/v2/"
level=info msg="Error logging in to v2 endpoint, trying next endpoint: Get https://192.168.2.103:9999/v2/: EOF"
level=debug msg="attempting v1 login to registry endpoint https://192.168.2.103:9999/v1/"
level=info msg="Error logging in to v1 endpoint, trying next endpoint: Get https://192.168.2.103:9999/v1/users/: dial tcp 192.168.2.103:9999: getsockopt: connection refused"
level=error msg="Handler for POST /v1.26/auth returned error: Get https://192.168.2.103:9999/v1/users/: dial tcp 192.168.2.103:9999: getsockopt: connection refused"
Run Code Online (Sandbox Code Playgroud)
但在我将服务器升级到 17.06.0-ce (仍然使用 1.13.1 cli)后,它只尝试/v2然后退出:
level=debug msg="Calling GET /_ping"
level=debug msg="Calling GET /_ping"
level=debug msg="Calling GET /v1.30/version"
level=debug msg="Calling GET /_ping"
level=debug msg="Calling GET /v1.30/info"
level=debug msg="Calling POST /v1.30/auth"
level=debug msg="attempting v2 login to registry endpoint https://192.168.2.103:9999/v2/"
level=info msg="Error logging in to v2 endpoint, trying next endpoint: Get https://192.168.2.103:9999/v2/: tls: oversized record received with length 21584"
level=error msg="Handler for POST /v1.30/auth returned error: Get https://192.168.2.103:9999/v2/: tls: oversized record received with length 21584"
Run Code Online (Sandbox Code Playgroud)
因此,答案似乎是,要么需要教 Nexus 正确响应端点/v2(因为它确实应该已经这样做了),要么将 dockerd 降级回使用/v1api 的版本(如果这是您的行为)后
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |