docker - Artifactory 作为 docker 注册表

我尝试将 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 容器?

docker - 如何在 Docker Hub 上查看 Docker 镜像层?

python - 如何在构建过程中安装私有(private) Python 包