开启删除功能
从registry容器里面将/etc/docker/registry/config.yml复制出来。
docker cp registry:/etc/docker/registry/config.yml .1
默认config.yml内容如下:
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3123456789101112131415161718
设置config.yml,在storage节点添加delete配置设置为true。
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
delete:
enabled: true
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 31234567891011121314151617181920
将修改过的config.yml覆盖容器里面的。
docker cp config.yml registry:/etc/docker/registry/config.yml
重启仓库容器
docker restart registry
查看镜像名
curl -s -XGET 172.27.36.8:5000/v2/_catalog | python -mjson.tool
查看镜像tag
curl -s -XGET 172.27.36.8:5000/v2/test_his_platform_global_api_2022-02-18-02-46/tags/list|python -mjson.tool
{
"name": "test_his_platform_global_api_2022-02-18-02-46",
"tags": [
"latest"
]
}
查看镜像reversion
ls /var/lib/docker/volumes/78c1937e0a8c810c8e4249d0245b4777ac4e66428519376712d99b811e559758/_data/docker/registry/v2/repositories/test_his_platform_global_api_2022-02-18-02-46/_manifests/revisions/sha256
703c4d81c860a7420749f6666aac348e1b62a07062865dfb91d4c30819483e70
## 或者通过API获取镜像digest值
curl -i -sS -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 'https://172.27.36.8:5000/v2/test_his_platform_global_api_2022-02-18-02-46/manifests/latest'
删除镜像:
curl -X DELETE 172.27.36.8:5000/v2/test_his_platform_global_api_2022-02-18-02-46/manifests/sha256:703c4d81c860a7420749f6666aac348e1b62a07062865dfb91d4c30819483e70
垃圾回收:
docker exec -it 9658cbb01b13 registry garbage-collect /etc/docker/registry/config.yml
清除目录:
rm -rf /var/lib/docker/volumes/78c1937e0a8c810c8e4249d0245b4777ac4e66428519376712d99b811e559758/_data/docker/registry/v2/repositories/test_his_platform_global_api_2022-02-18-02-46
web-ui管理registry:
docker hub 地址:https://hub.docker.com/r/hyper/docker-registry-web
docker pull hyper/docker-registry-web
无身份验证,带配置文件
创建配置文件config.yml
(此配置中的任何属性都可能被环境变量覆盖,例如属性registry.auth.enabled将变为REGISTRY_AUTH_ENABLED)
registry:
# Docker registry url
url: http://registry-srv:5000/v2
# Docker registry fqdn
name: localhost:5000
# To allow image delete, should be false
readonly: false
auth:
# Disable authentication
enabled: false
使用 docker 运行
docker run -p 5000:5000 --name registry-srv -d registry:2
docker run -it -p 8083:8080 --name registry-web --link registry-srv -v $(pwd)/config.yml:/conf/config.yml:ro hyper/docker-registry-web
Web UI 将在http://localhost:8083