您的位置:首页 > 文旅 > 美景 > 推广普通话内容_巩义网站建设价格_seo网站优化专员_网站营销网站营销推广

推广普通话内容_巩义网站建设价格_seo网站优化专员_网站营销网站营销推广

2024/10/5 19:17:09 来源:https://blog.csdn.net/wanmei002/article/details/142598139  浏览:    关键词:推广普通话内容_巩义网站建设价格_seo网站优化专员_网站营销网站营销推广
推广普通话内容_巩义网站建设价格_seo网站优化专员_网站营销网站营销推广

目录

        • 获取token
          • 1. base64 用户名 密码
          • 2. 先请求要请求的接口
          • 3. 请求接口 auth
          • 4. 拿着 token, 去请求接口
        • 请求 tag 列表接口
          • 1. 去请求token
          • 2. 拿着token去请求 镜像 tag 列表
        • 删除镜像
          • 1. 先获取镜像 tag 的 sha256
          • 2. 删除镜像
      • 错误: `{"errors":[{"code":"MANIFEST_UNKNOWN","message":"OCI index found, but accept header does not support OCI indexes"}]}` 解决办法

获取token
1. base64 用户名 密码
echo -n <你的用户名>:<你的密码> | base64
# 得到的字符串是: dXNlcm5tYWU6cGFzc3dvcmQ=
2. 先请求要请求的接口

比如我向获取所有镜像列表接口 http://127.0.0.1:5000/v2/_catalog

curl -i -X GET 'http://127.0.0.1:5000/v2/_catalog'

返回的 header 头里有 Www-Authenticate: Bearer realm="https://127.0.0.1:4000/auth",service="Registry",scope="registry:catalog:*"

  • realm: 需要取 这个接口里获取 token
  • service, scope 是查询参数
3. 请求接口 auth

以上面的 Www-Authenticate 信息为例子

# url 最好用 引号括住
curl -i -H'Authorization: Basic dXNlcm5tYWU6cGFzc3dvcmQ=' -X GET 'http://127.0.0.1:4000/auth?service=Registry&scope=registry:catalog:*'
# 返回的数据如下
{"access_token": "aaaa.bbbb.cccc", "token": "aaaa.bbbb.cccc"}
# access_token 跟 token 字段里的值是一样的
4. 拿着 token, 去请求接口
curl  -i -H"Authorization: Bearer aaaa.bbbb.cccc"  'http://127.0.0.1:5000/v2/_catalog'# 返回结果
{"registry": ["aaa/bbbb"]}
请求 tag 列表接口

aaa/bbbb 是镜像

1. 去请求token
# 注意查询参数里的  scope
curl -i -H'Authorization: Basic dXNlcm5tYWU6cGFzc3dvcmQ=' -X GET 'http://127.0.0.1:4000/auth?service=Registry&scope=registry:aaa/bbbb:pull'

每次请求接口的 scope 不一样 都需要去请求一次 token 接口

2. 拿着token去请求 镜像 tag 列表
curl -i  -H "Authorization:  Bearer dddd.eeee.ffff" 'http://127.0.0.1:5000/v2/aaa/bbbb/tags/list'{"name":"aaa/bbbb","tags":["v1.0.2","v1.0.3"]}
删除镜像
1. 先获取镜像 tag 的 sha256
curl -i  -H "Authorization: Bearer aaa.bbb.ccc" -H "Accept: application/vnd.oci.image.manifest.v1+json" -H "Accept: application/vnd.oci.image.index.v1+json"  'http://127.0.0.1:5000/v2/aaa/bbbb/manifests/v1.0.2'
# 返回值
HTTP/1.1 200 OK
Content-Length: 529
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Docker-Content-Digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc"

注意 header 头都需要,必需加全
header 头里的 sha256 在删除的时候需要

2. 删除镜像
curl -i -XDELETE -H "Authorization:  Bearer aaaa.bbbbb.cccc"   'http://127.0.0.1:5000/v2/aaa/bbbb/manifests/sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc'
# 返回 202 状态码,表示成功了

错误: {"errors":[{"code":"MANIFEST_UNKNOWN","message":"OCI index found, but accept header does not support OCI indexes"}]} 解决办法

解决办法: curl 请求的时候加上 header头: -H "Accept: application/vnd.oci.image.manifest.v1+json" -H "Accept: application/vnd.oci.image.index.v1+json"

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com