2

对于一个项目,我需要通过 AJAX 请求与 privat Docker Registry 进行通信,但由于“同源规则”而出现错误,我应该启用 CORS。我设法在启用了 CORS 的情况下启动了 Docker Remote API(标志:--api-enable-cors)是否有任何等效的方法可以使用私有注册表来执行此操作?还是在启动私有注册表时启用 CORS 的另一种方法?[编辑:仅供参考 - 注册表和提到的远程 API 在不同的机器上]

要设置私有注册表,我按照官方文档的步骤: https ://docs.docker.com/registry/deploying/ 我正在使用 Compose 版本,在注册表版本 1.0 和 2.0 之间切换...

我是 Web 实现方面的菜鸟,但它对我的项目来说是必要的。提前感谢您的帮助和对糟糕的英语表示抱歉:)

4

1 回答 1

3

不,不幸的是,截至本问答,v2 注册表不支持任何 CORS 选项。v2 注册表是用完全不同的语言(Go 与 v1 的 Python)编写的全新项目,并且 v1 可用的许多功能尚未在 v2 中实现。实际上,您使用的标志 ( --api-enable-cors) 是目前仅在 docker 远程 API 中可用的功能,在 v2 注册表中不可用。

我绕过 v2(当前)有限的注册表 API 的方法是使用Jason Wilder 的 Nginx 反向代理 docker,它使用他自己开发的 docker-gen 实用程序来代理 docker 容器。这样做会打开一堆“标准”功能,例如身份验证、CORS、SSL 等。尽管目前此功能尚未在 v2 注册表中实现,但请记住,开发进展非常迅速。祝你好运!

于 2015-05-11T17:30:33.197 回答