问题描述
我已经购买了一个 Docker 帐户并使用 Nexus OSS 设置了我的 Docker 代理,如下所示:
Repositories -> Create a Docker Proxy -> 选择 Use Docker Hub (Remote Storage : std::setfill()
) -> with Authentication Enabled(提供 Docker 的用户名/密码)
在我的客户端中,我使用以下命令将其配置为使用我的 Nexus 作为注册表镜像:
systemctl edit docker
然后补充:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --registery-mirror=https://myprivatenexus.com
然而,当我尝试在我的客户端中使用“docker pull”时,我会遇到烦人的“Docker Hub Pull Limits”错误。
是否可以在 Nexus 中使用我的 Docker 帐户,或者我应该尝试其他方法吗?
解决方法
我们在类似的环境中在工作中使用了 Nexus。您的连接配置看起来像我们的。对我来说,客户端镜像配置看起来很奇怪。如果我在没有任何配置的连接器的情况下访问 nexus 存储库,我必须在客户端配置整个上下文路径。
截图后:https://YOUR_SERVER/repository/DockerHub
如果您要连接专用的存储库连接器,例如http/8088,然后你可以用
配置你的客户端http://YOUR_SERVER:8088
The documentation from sonatype 描述相同:
为用户界面配置的上下文路径不会影响 Docker 使用的存储库连接器 URL。例如。如果您的存储库管理器实例配置为在 http://localhost:8081/nexus 而不是默认的根上下文 http://localhost:8081/ 上可用,则 Docker 存储库的 URL 仍将仅使用配置的端口存储库并省略 URL 中的上下文路径。这是 Docker 不支持注册表 API 中的上下文路径这一事实的副作用。