创建私有仓库
docker pull registry
运行私有仓库
docker run -d -p 5000:5000 -v /docker_registry/:/var/lib/registry/ --name registry registry
操作
上传
docker tag mynginx:v0.0.1 127.0.0.1:5000/mynginx
docker push 127.0.0.1:5000/mynginx
"insecure-registries":["172.17.168.23:5000"]
下载
docker push [tag_name]
查看
curl 127.0.0.1:5000/v2/_catalog
''' 结果为: {"repositories":[mynginx]} 说明上传成功 '''
curl 127.0.0.1:5000/v2/mynginx/tags/list
''' {"name":"mynginx","tags":["latest"]} '''
删除
curl -I 127.0.0.1:5000/v2/mynginx/manifests/v0.0.1
curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" -I 127.0.0.1:5000/v2/mynginx/manifests/v0.0.1
'''
结果如下:
HTTP/1.1 200 OK
Content-Length: 948
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Docker-Content-Digest: sha256:dabecc7dece2fff98fb00add2f0b525b7cd4a2cacddcc27ea4a15a7922ea47ea
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:dabecc7dece2fff98fb00add2f0b525b7cd4a2cacddcc27ea4a15a7922ea47ea"
X-Content-Type-Options: nosniff
Date: Wed, 10 Apr 2019 02:26:35 GMT
'''
curl -X DELETE 127.0.0.1:5000/v2/mynginx/manifests/sha256:dabecc7dece2fff98fb00add2f0b525b7cd4a2cacddcc27ea4a15a7922ea47ea
'''
结果有报错, 未删除成功
{"errors":[{"code":"UNSUPPORTED","message":"The operation is unsupported."}]}
'''
第三方删除工具
curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null
chmod +x /usr/local/bin/delete_docker_registry_image
find / -name registry
'''
/home/bypic/go/src/cmd/vendor/golang.org/x/sys/windows/registry
/home/bypic/go/src/internal/syscall/windows/registry
/var/lib/docker/volumes/26bbc79337963c17e46cd252245e1f37155d3b53aae7154e54f1d8485ec92e54/_data/docker/registry
/var/lib/docker/volumes/4156a38193a183a0f2a530a63fd700244b74329352b609c02efe6f5e1b7a4ae9/_data/docker/registry
/var/lib/docker/overlay2/aece0df58b6455b34b9593ba2657954d2e209dee56d74aa927b82c56dfa0dc92/diff/var/lib/registry
/var/lib/docker/overlay2/aece0df58b6455b34b9593ba2657954d2e209dee56d74aa927b82c56dfa0dc92/merged/var/lib/registry
/var/lib/docker/overlay2/aece0df58b6455b34b9593ba2657954d2e209dee56d74aa927b82c56dfa0dc92/merged/bin/registry
/var/lib/docker/overlay2/aece0df58b6455b34b9593ba2657954d2e209dee56d74aa927b82c56dfa0dc92/merged/etc/docker/registry
/var/lib/docker/overlay2/b6b4667747977ba067fe5645f1f54b866211e228144f6e5edbed5fc52f4050af/diff/etc/docker/registry
/var/lib/docker/overlay2/371723b50a85c354df44af923f94353ed0690ba3499a8ea653a176cf35cec077/diff/var/lib/ucf/registry
/var/lib/docker/overlay2/02d9926fe425e923a036a66952fa76b420b5cac9ca4b583ff53f84fd2276846d/diff/bin/registry
'''
/var/lib/docker/volumes/26bbc79337963c17e46cd252245e1f37155d3b53aae7154e54f1d8485ec92e54/_data/docker/registry/v2
/usr/local/bin/delete_docker_registry_image --image mynginx:v0.0.1