【问题标题】:Docker Registry 2.0 enable CORSDocker Registry 2.0 启用 CORS
【发布时间】:2015-07-21 17:53:51
【问题描述】:

对于一个项目,我需要通过 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 实现方面的菜鸟,但它对我的项目来说是必要的。 提前感谢您的帮助和对糟糕的英语表示抱歉:)

【问题讨论】:

    标签: ajax docker cors docker-registry


    【解决方案1】:

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

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

    【讨论】:

    • 我知道,我在远程api上使用了flag,只是想知道注册表是否有任何等价物:)谢谢你的回答,我看看你的nginx代理提到了!
    猜你喜欢
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2018-05-24
    • 2020-09-07
    • 2019-06-13
    • 2017-07-18
    相关资源
    最近更新 更多