artifactory作为docker注册表

时间:2015-07-27 19:52:26

标签: docker artifactory

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

但是,我没有在artifactory中安装SSL,所以我使用的是--insecure-registry标志。 (如error in docker build publish pluginRemote 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在底部显示可能需要一个称为反向代理的东西?这是真的,如果是这样,我该如何安装这样的东西?

1 个答案:

答案 0 :(得分:17)

在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文档包含NginXApacheHAProxy的配置示例 请注意,Docker注册表API v1和v2有不同的配置。

设置反向代理后,Docker客户端应使用代理来访问Artifactory。

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