docker register 删除镜像

开启删除功能

从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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个...
    SkTj阅读 628评论 1 1
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,822评论 0 7
  • 最近,公司的技术平台,运维的破事儿颇多。Jira无法访问,ES堆内存不足,Jenkins频繁不工作。。等等等,让我...
    抗争de小墨阅读 1,416评论 1 0
  • Docker 一、Namespace:名称空间,主要用于容器间的资源隔离,每个容器都运行在各自的不同的名称空间,各...
    花花遴20102967阅读 782评论 1 0
  • 此文档需要在docker安装完成之后操作 安装docker-compose curl方式 python-pip安装...
    杨家小七阅读 6,259评论 2 3