私のCIは、1つのタグの下で画像をドッカーのレジストリにプッシュします。私は定期的に古い未使用の画像を消去するスクリプトを持っています。タグ内のダイジェストを繰り返し処理し、レジストリAPIのDELETEを呼び出します(レジストリファイルシステムのファイルを繰り返します)。ガベージコレクトすべてのブロブをした後ドッカーレジストリ - ファイルシステムからマニフェストを削除する
dir="${REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY}/docker/registry/v2/repositories/test/_manifests/tags/5.3/index/sha256/"
oldManifests=$(ls -t $dir | tail -n +2 ; done)
for hash in $oldManifests
do
curl -L -X DELETE http://localhost:5000/v2/test/manifests/sha256:$hash
done
/bin/registry garbage-collect /etc/docker/registry/config.yml
は_manifests /タグ/ 5.3 /インデックス/ SHA256の/の下にディレクトリを削除されていませんが。どうして?手動で削除するのは安全ですか?
Dockerハブで利用できるPythonスクリプトとDocker画像を作成しました:https://github.com/ricardobranco777/clean_registry –