artifactory作为docker注册表

Adr*_*ian 10 artifactory docker

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

但是,我没有在artifactory中安装SSL,因此我使用了--insecure-registry标志.(如docker build publish插件中的错误远程访问私有docker-registry中所示)

无论如何,我不知道如何找出作为docker注册表URL的神器,所以我可以这样做:curl -k -uusername:password" http://sdpvvrwm812.ib.tor.company.com:8081/artifactory/api/docker/docker-images "

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

Dro*_*sky 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,ApacheHAProxy的配置示例.
请注意,Docker注册表API v1和v2有不同的配置.

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

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