Bin*_*ing 7 registry curl docker
当我直接运行时docker run -d -p 5000:5000 --restart=always --name registry registry:2
,我可以使用curl localhost:5000/v2/_catalog
. 但是在我使用 TLS 引用https://docs.docker.com/registry/deploying/保护注册表之后。命令 likecurl 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
根据您注册表中的身份验证机制,您需要添加基本身份验证信息,或者如果使用承载令牌,则需要对每个请求进行身份验证,请参阅https://github.com/EugenMayer/docker_registry_cli/tree /主控/授权
这意味着,您首先发送 GET 请求,如果收到 401,则将带有凭据的范围参数发送到服务器: https: //github.com/EugenMayer/docker_registry_cli/blob/master/requests/DockerRegistryRequest.rb# L52
它或多或少是通常的 JWT 令牌实现。因此,您需要向每个范围的curl或JWT令牌添加基本身份验证标头(每个意图需要2个curl请求)。
对于 JWT 令牌身份验证,另请参阅https://docs.docker.com/registry/spec/auth/jwt/
对于基本身份验证,需要此标头: https: //github.com/EugenMayer/docker_registry_cli/blob/master/auth/BasicAuthService.rb#L27
归档时间: |
|
查看次数: |
8272 次 |
最近记录: |