我尝试将artifactory设置为docker注册表,如此视频所示:http://www.jfrog.com/video/artifactory-docker-integration/
但是,我没有在artifactory中安装SSL,所以我使用的是--insecure-registry标志。 (如error in docker build publish plugin和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在底部显示可能需要一个称为反向代理的东西?这是真的,如果是这样,我该如何安装这样的东西?
答案 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文档包含NginX,Apache和HAProxy的配置示例 请注意,Docker注册表API v1和v2有不同的配置。
设置反向代理后,Docker客户端应使用代理来访问Artifactory。
如果您使用的是--insecure-registry标志,则无需配置SSL证书。对于旧版本的Docker,在此标志为introduced之前(Docker 1.3.2),这是强制性要求。