我尝试将 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 所示)
无论如何,我不知道如何将 Artifactory 找出为 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和 HAProxy .
请注意,Docker 注册表 API v1 和 v2 有不同的配置。
设置反向代理后,Docker 客户端应该使用代理才能访问 Artifactory。
如果您使用 --insecure-registry 标志,则无需配置 SSL 证书。对于旧版本的 Docker,在此标志为 introduced 之前(Docker 1.3.2)这是一项强制性要求。
关于docker - Artifactory 作为 docker 注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662029/
相关文章:
macos - 无法从 docker 容器访问本地网络 IP
git - 何时从 Docker 存储库中提取,何时从 Git 存储库中提取然后构建?
docker - 使用 pyodbc 将 docker python 连接到 SQL 服务器
docker - 为什么 Kubernetes 源代码比其他容器编排器大一个数量级?
node.js - 为什么 NPM 在 Docker 容器中不可用
docker - 如何在 Docker 内的 Jenkins 中运行 Katalon 测试套件
docker - 如何在 Docker 中将卷从容器挂载到主机?
docker - 如何用 nix 构建一个 docker 容器?