Question: I'm trying to remove an image and I get:

```
# docker rmi f50f9524513f  
Failed to remove image (f50f9524513f): Error response from daemon: conflict: unable to delete f50f9524513f (cannot be forced) - image has dependent child images

```

This is the docker version:

```
# docker version
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      linux/amd64

```

but there is no extra information: 

```
# docker images --format="raw" | grep f50f9524513f -C3

repository: debian
tag: 8
image_id: f50f9524513f
created_at: 2016-03-01 18:51:14 +0000 UTC
virtual_size: 125.1 MB

repository: debian
tag: jessie
image_id: f50f9524513f
created_at: 2016-03-01 18:51:14 +0000 UTC
virtual_size: 125.1 MB

```

How can I get the **dependent child images** it claims to have? 

there are no running nor stopped containers with that image id.

Answer: 
If you don't have a huge number of images, there's always the brute-force approach:

```
for i in $(docker images -q)
do
    docker history $i | grep -q f50f9524513f && echo $i
done | sort -u

```
Based on [slushy](https://stackoverflow.com/a/53037893/3364871) and [Michael Hoffman](https://stackoverflow.com/a/11532197/3364871) answers, if you don't have a ton of images you can use this shell function:

```
docker_image_desc() {
  for image in $(docker images --quiet --filter "since=${1}"); do
    if [ $(docker history --quiet ${image} | grep ${1}) ]; then
      docker_image_desc "${image}"
    fi
  done
  echo "${1}"
}

```

and then call it using

```
docker_image_desc <image-id> | awk '!x[$0]++'

```