第 6 章 アプリケーション開発・運用
6.3 ローカルレジストリへの登録・削除
All Right Reserved, Copyright © FUJITSU LIMITED 2018 136
6.3.2.2 タグ一覧取得
イメージに関連するタグの一覧を取得します。
6.3.2.3 対象タグの digest 値取得 対象タグの digest 値を取得します。
(digest 値:各タグを識別するための値)
●実行コマンド
curl -k -u container:registry https://reg.local:5000/v2/<イメージ名>/tags/list 実行例:
curl -k -u container:registry https://reg.local:5000/v2/test-namespace/local_tomcat/tags/list
●実行結果
該当イメージのタグ一覧が表示されます。
{"name":"<イメージ名>","tags":["<タグ名 1>","<タグ名 2>"]}
表示例:
{"name":"test-namespace/local_tomcat","tags":["v1.0","v2.0"]}
●実行コマンド
curl -Is -k -u container:registry \
-H 'Accept: application/vnd.docker.distribution.manifest.v2+json' \ https://reg.local:5000/v2/<イメージ名>/manifests/<タグ名> \
| grep "Docker-Content-Digest"
実行例:「testuser/local_tomcat」イメージの「v1.0」タグの digest 値を確認する場合 curl -Is -k -u container:registry \
-H 'Accept: application/vnd.docker.distribution.manifest.v2+json' \
https://reg.local:5000/v2/test-namespace/local_tomcat/manifests/v1.0 \ | grep "Docker-Content-Digest"
●実行結果
該当タグの digest 値が表示されます。
Docker-Content-Digest: sha256:<digest 値>
表示例:
Docker-Content-Digest:sha256:920348cd07c3bb61d0bfdf89d54dbebee77564fff752f1b0716d0ea2b7856504
All Right Reserved, Copyright © FUJITSU LIMITED 2018 138
6.3.2.4 タグの削除 該当のタグを削除します。
6.3.2.5 タグの削除確認
該当のタグが削除されたことを確認します。
6.3.2.6 イメージ削除における注意事項 イメージ削除の注意事項は以下となります。
No 概要 内容
1 タグが「null」となったイメージについて イメージの全てのタグを削除して「null」となった場合、イメージは使用不可となります。
2 タグが「null」となったイメージのイメージ一覧表示について イメージの全てのタグを削除して「null」となった場合でも、イメージ一覧取得コマンドの表示結果には、該当イメージ名が表示されます。
タグが存在する(「null」ではない)イメージが利用可能となります。
3 タグを削除した際の、同イメージのローカルレジストリ登録に ついて
「6.3.2.4 タグの削除」の手順を実行し、削除した内容と同じイメージを最大 24 時間以内に「6.3.1.1 イメージ登録」で再度ローカルレジストリに登録した場合、docker push コマンド実行時に「Layer already exists」が表示される可能性があります。なお、登録作業自体は問題なく完了しているため、動作上問題ありません。
例:
1. 「6.3.2.4 タグの削除」を実施 (curl -X DELETE -k -u container:registry \ …)
2. 最大 24 時間以内に「6.3.1.1 イメージ登録」を実施 (docker push reg.local:5000/test-namespace/local_tomcat:v1.0) 3. 以下の結果が出力
The push refers to a repository [reg.local:5000/test-namespace/local_tomcat]
97f447610b44: Layer already exists
●実行コマンド
curl -X DELETE -k -u container:registry \
-H 'Accept: application/vnd.docker.distribution.manifest.v2+json' \ https://reg.local:5000/v2/<イメージ名>/manifests/sha256:<digest 値>
実行例:
curl -X DELETE -k -u container:registry \
-H 'Accept: application/vnd.docker.distribution.manifest.v2+json' \
https://reg.local:5000/v2/test-namespace/local_tomcat/manifests/sha256: 920348cd07c3bb61d0bfdf89d54dbebee77564fff752f1b0716d0ea2b7856504
●実行コマンド
curl -k -u container:registry https://reg.local:5000/v2/<イメージ名>/tags/list 実行例:
curl -k -u container:registry https://reg.local:5000/v2/test-namespace/local_tomcat/tags/list
●実行結果
該当イメージのタグ一覧が表示されます。
{"name":"<イメージ名>","tags":["<タグ名 1>"]}
表示例:「v1.0」タグが削除され、「v2.0」タグのみの表示となっています。
{"name":"test-namespace/local_tomcat","tags":["v2.0"]}
※全てのタグを削除した場合は、タグが「null」と表示とされます。