2025年6月6日金曜日

自分でホストしているdocker reigistryからイメージを削除する方法

自分でホストしているdocker reigistryからイメージを削除する方法

概要

API を使って削除する方法を紹介します

環境

  • Ubuntu 22.04
  • docker registry 2.8.3
  • docker 27.0.3

削除 API の実行

registry='your-registry-domain:5000'
name='image_name'
curl -v -sSL -X DELETE "https://${registry}/v2/${name}/manifests/$(
    curl -sSL -I \
        -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
        "https://${registry}/v2/${name}/manifests/$(
            curl -sSL "https://${registry}/v2/${name}/tags/list" | jq -r '.tags[0]'
        )" \
    | awk '$1 == "docker-content-digest:" { print $2 }' \
    | tr -d $'\r' \
)"

3つAPIをコール必要があります

  1. タグを取得
  2. タグのハッシュを取得
  3. ハッシュを元に削除

ディレクトリも削除する

  • sudo rm -rf registry/docker/registry/v2/repositories/image_name

これを削除しないと v2/_catalog で表示されてしまいます

最後に

必ずディレクトリまで削除するようにしましょう

0 件のコメント:

コメントを投稿