gpt4 book ai didi

curl - 如何使用 curl 访问 docker registry v2?

转载 作者:行者123 更新时间:2023-12-03 19:44:43 24 4
gpt4 key购买 nike

当我直接运行 docker run -d -p 5000:5000 --restart=always --name registry registry:2 时,我可以使用 curl localhost:5000/v2/_catalog 访问注册表。但是在我使用 TLS 引用 https://docs.docker.com/registry/deploying/ 保护注册表之后。像 curl localhost:5000/v2/_catalog 这样的命令无法使用。那么如何使用 curl 访问注册表呢?是否应该添加一些选项?就像如果我想使用 docker remote api,我可以使用 curl --insecure --cert ~/cert.pem --key ~/key.pem https://$host:2376/_ping

最佳答案

如果你熟悉 httpparty/ruby​​ 你可以看看这个实现:https://github.com/EugenMayer/docker_registry_cli/blob/master/requests/DockerRegistryRequest.rb

根据您在注册表中的身份验证机制,您将需要添加基本身份验证信息,或者,如果使用承载 token ,则需要对每个请求进行身份验证,请参阅 https://github.com/EugenMayer/docker_registry_cli/tree/master/auth

这意味着,您首先发送 GET 请求,如果您收到 401,则将带有凭据的范围参数发送到服务器:https://github.com/EugenMayer/docker_registry_cli/blob/master/requests/DockerRegistryRequest.rb#L52

它或多或少是通常的 JWT token 实现。因此,您需要将 basic-auth header 添加到 curl 或每个范围的 JWT token (每个意图需要 2 个 curl 请求)。

对于 JWT token 身份验证,另请参阅 https://docs.docker.com/registry/spec/auth/jwt/

对于基本身份验证,需要此 header :https://github.com/EugenMayer/docker_registry_cli/blob/master/auth/BasicAuthService.rb#L27

关于curl - 如何使用 curl 访问 docker registry v2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41456996/

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