跳转至

仓库垃圾回收

执行垃圾回收

执行垃圾回收需要提前配置,参阅配置文件

Bash
delete:
  enabled: true

垃圾回收命令

/bin/registry garbage-collect -m /etc/distribution/config.yml

Bash
1
2
3
4
5
6
7
8
# 执行垃圾回收的命令需要进入容器
$ docker compose exec -it registry-server sh
# 执行命令
/bin/registry garbage-collect

-m, --delete-untagged   删除当前未通过标记引用的manifests
-d, --dry-run           试运行,不执行删除
-q, --quiet             静默输出

也可以在宿主机执行

列出删除的blob

/bin/registry garbage-collect -m /etc/distribution/config.yml -d

Bash
# 在容器外列出删除的blob
$ docker compose exec -it registry-server /bin/registry garbage-collect -m /etc/distribution/config.yml -d

alpine
myalpine

0 blobs marked, 3 blobs and 0 manifests eligible for deletion
blob eligible for deletion: sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516
blob eligible for deletion: sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8
blob eligible for deletion: sha256:7b9b6a044d921dfcaea2a843ff19d725948590352198f93cb878fd2c19d7ba3c
alpine: layer link eligible for deletion: sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516
alpine: layer link eligible for deletion: sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8
myalpine: layer link eligible for deletion: sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516
myalpine: layer link eligible for deletion: sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8

执行删除

/bin/registry garbage-collect -m /etc/distribution/config.yml

Bash
# 执行删除(也可以不需要列出要删除的清单,直接删除)
$ docker compose exec -it registry-server /bin/registry garbage-collect -m /etc/distribution/config.yml