gpt4 book ai didi

docker - 如何在 Web 应用程序中使用\连接到 sonatype nexus docker registry v2 api?

转载 作者:行者123 更新时间:2023-12-05 06:58:23 26 4
gpt4 key购买 nike

我有一个私有(private)的 sonatype nexus 存储库管理器 OSS 3.25.1-04 容器运行在一个 vm 上(nginx 从 docker.io 路由到 repo 管理器 url),它包含一些存储库,其中一个是 docker registry。

我想使用 React 应用程序中的 docker registry v2 api 来获取存储库中 docker 镜像的列表,以及关于存储库及其内容的更多指标。

我尝试直接调用 api:https://nexus3:8083/v2/_catalog 但在检查 devtools 网络选项卡时在响应中得到 401 UnAuthorized

然后登录到我尝试使用 https://auth.docker.io/token?service=registry.docker.io&scope=repository:samalba/my-app:pull,push 的 api当用我自己的注册表和示例 docker 镜像替换 samalba/my-app 时。我知道此链接仅用于获取 token ,因为此图像无法为整个 api 找到一个(无论如何它都不起作用)

可以使用一些关于如何连接到 api\get jwt token 并使用它或如何将 api 与 http 结合使用的帮助

最佳答案

可能会发生一些事情。首先,尝试只使用基本身份验证,看看是否可行。此外,您可能需要设置一些额外的 header 以连接到 nexus/sonatype。这是一个 curl 示例:

curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -H "Content-Type: application/json" -H "User-Agent: docker/20.10.14" -u username:password -i https://nexus3:8083/v2/_catalog

注意用户代理字段——我遇到过身份验证层为 docker 用户代理过滤掉的问题。

如果仍然不起作用,那么接下来您可以查看注册表响应是否带有 header www-authenticate。这意味着您需要先使用该服务进行身份验证以检索 Bearer token ,然后您可以使用 Authorization header 而不是基本身份验证将其传回注册表。

希望对您有所帮助。

关于docker - 如何在 Web 应用程序中使用\连接到 sonatype nexus docker registry v2 api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64633887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com