跳转至

Docker registry api 操作

1. 获取manifests

curl -k \
  -u admin:password \
  -H "Accept: application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json" \
  https://10.30.15.66:8445/v2/registry.k8s.io/calico/cni/manifests/v3.27.3

#结果如下
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.oci.image.manifest.v1+json",
   "config": {
     "mediaType": "application/vnd.oci.image.config.v1+json",
     "digest": "sha256:b1053ac6a81e8635acaa253516add87a758796b61fa4e29b767a8bd31e4b3eb2",
     "size": 1148
   },
   "layers": [
     {
       "mediaType": "application/vnd.oci.image.layer.v1.tar",
       "digest": "sha256:a5ac9028a4e338d283f4fb72656a4cb9aafa922a3f2970a4d4453621b5cae40a",
       "size": 3581952
     },
     {
       "mediaType": "application/vnd.oci.image.layer.v1.tar",
       "digest": "sha256:16a578643dc55e5cabc2515532a068d32a9b2d324e0b145186c14af33bf2ae27",
       "size": 90572288
     },
     {
       "mediaType": "application/vnd.oci.image.layer.v1.tar",
       "digest": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
       "size": 1024
     }
   ]
 }

2. 删除操作,并不清理磁盘

  curl -k \
  -u admin:password \
  -H "Accept: application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json" \
  -v https://10.30.15.66:5000/v2/registry.k8s.io/calico/cni/manifests/v3.27.3

  curl -k -X DELETE \
  -u admin:password \
  https://10.30.15.66:5000/v2/registry.k8s.io/calico/cni/manifests/sha256:c1e40aeba727c98f2894185eb1f600b367a4f4fb18bbb22722b6c62dbe610261

3.获取catalog

curl -k \
  -u admin:password \
  -H "Accept: application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json" \
  https://10.30.15.66:5000/v2/_catalog

4.获取tags

curl -k \
  -u admin:password \
   https://10.30.15.66:5000/v2/registry.k8s.io/calico/cni/manifests/tags/list

3.人工清理磁盘

#人工清理磁盘
#nerdctl exec -it topec_registry bin/registry garbage-collect /etc/docker/registry/config.yml