作为 docker 注册表的人工制品

artifactory as docker registry

我尝试将 artifactory 设置为 docker 注册表,如本视频所示:http://www.jfrog.com/video/artifactory-docker-integration/

但是,我没有在 artifactory 中安装 SSL,所以我使用了 --insecure-registry 标志。 (如图error in docker build publish plugin and Remote access to a private docker-registry

无论如何,我不知道如何找出人工制品作为 docker 注册表 url 所以我可以这样做: curl -k -uusername:密码 "http://sdpvvrwm812.ib.tor.company.com:8081/artifactory/api/docker/docker-images"

此页面 http://www.jfrog.com/confluence/display/RTF/Docker+Repositories 在底部显示可能需要称为反向代理的东西?这是真的吗?如果是,我该如何安装这样的东西?

需要在 Artifactory 前面使用反向代理的原因与 Docker 客户端限制有关 - 在提供注册表路径时不能使用上下文路径,例如 sdpvvrwm812.ib.tor.company.com:8081/artifactory/api/docker/docker-images 无效。
Docker 客户端假定您正在为所有图像使用一个大注册表,而 Artifactory 允许您管理多个注册表(存储库)在同一台服务器上。

为了克服这个问题,您应该设置一个反向代理,它允许 Docker 客户端将请求发送到根上下文并将这些请求转发到 Artifactory 中的正确存储库路径。例如,将请求从 sdpvvrwm812.ib.tor.company.com:8888/ 转发到 sdpvvrwm812.ib.tor.company.com:8081/artifactory/api/docker/docker-images

Artifactory 文档包含 NginX, Apache and HAProxy.
的配置示例 请注意 Docker registry API v1 和 v2.

有不同的配置 设置反向代理后,Docker 客户端需要使用代理才能访问 Artifactory。

如果您使用 --insecure-registry 标志,则无需配置 SSL 证书。对于旧版本的 Docker,在这个标志是 introduced (Docker 1.3.2) 之前,它是一个强制性要求。