#author("2022-12-31T22:10:53+09:00","default:ryuichi","ryuichi")
#author("2022-12-31T22:11:44+09:00","default:ryuichi","ryuichi")
* あるイメージを依存してる子イメージを取得する [#oc647700]
** そのイメージに依存しているイメージがあるとイメージ削除できない [#h098421d]
** 問題 そのイメージに依存しているイメージがあるとイメージ削除できない [#h098421d]
docker rmi abc12345
Error response from daemon: conflict: unable to delete abc12345 (cannot be forced) - image has dependent child images
- イメージID abc12345は削除できない
** あるイメージを依存してる子イメージを取得する [#y84874e6]
** 方法 [#z29e64b3]
*** 1. あるイメージを依存してる子イメージを取得する [#y84874e6]
for i in $(docker images -q)
do
docker history $i | grep -q abc12345 && echo $i
done | sort -u
11111111
22222222
aaa99999
abc12345
** 子イメージの詳細を確認する [#t949cd09]
*** 2. 子イメージの詳細を確認する [#t949cd09]
docker inspect --format='{{.Id}} {{.Parent}}' aaa99999
sha256:aaa99999 sha256:abc12345
- aaa99999の親がabc12345
** 子イメージを削除する [#ha76ff95]
*** 3. 子イメージを削除する [#ha76ff95]
docker rmi 11111111 22222222 aaa99999
** 目的のイメージを削除する [#jb1adec3]
*** 4. 目的のイメージを削除する [#jb1adec3]
docker rmi abc12345
** 参考 [#o256eeab]
- https://stackoverflow.com/questions/36584122/how-to-get-the-list-of-dependent-child-images-in-docker
- https://pythonspeed.com/articles/docker-history/