搜索

如何删除docker私有仓

发布网友 发布时间:2022-03-21 01:27

我来回答

1个回答

热心网友 时间:2022-03-21 02:56

第一步:registry启动依赖config.yml配置文件:在默认文件的storage区域中添加delete_enable_ture配置项。也可以在启动时候指定-e添加。允许删除镜像:

配置文件:

第二步:下载registry镜像并启动容器。

docker run  -d -v /conf/:/etc/docker/registry -v /opt/registry:/var/lib/registry -p5000:5000 --restart=always --name registry docker.io/registr y:latest

第三步:上传镜像

前边三个步骤都是为删除镜像做准备。现在正式开始删除操作。

先看下官网怎么说:

语法非常简单。官网上注明可以通过name和digest删除image。name我们是知道的。现在去获取digest:

删除一个image所需要的name和digest都有了。现在执行删除操作:

[root@docker1 ~]# curl -XDELETE 127.0.0.1:5000/v2/registry_test/manifests/sha256:48b7957fb8794 31397779c6e1448ce3cbd52adf1eba62f4633c0e2c08c1b

看似已经删除了,其实硬盘地址并没有释放。是因为docker删除image只是删除的image的元数据信息。层数据并没有删除。现在进入registry中进行垃圾回收

[root@docker1 ~]# docker exec -it <容器ID|容器名称> /bin/sh
/ # cd /var/lib/registry/
/var/lib/registry #  -sch
10.3M    .
10.3M    total
/var/lib/registry # registry garbage-collect /etc/docker/registry/config.yml
/var/lib/registry #  -sch
28.0K    .
28.0K    total

这样就达到我们的目的了。及删除了仓库容器,又释放了磁盘空间

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top