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
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