It is important to understand why you have intermediate untagged images showing as
<none> <none> in order to avoid them since, as you have seen, you can’t remove them if they are in use.
The reason untagged images happen is because you built an image, then you changed the
Dockerfile and built that image again and it reused some of the layers from the previous build. Now you have an untagged image which cannot be deleted because some of it’s layers are being used by a new version of that image.
The solution is to:
- Delete the new version of the image
- Delete the untagged image and
- Rebuild the new version of the image so that it owns all of the layers.
You will be left with a single tagged image that contains all of the layers of the previous untagged images and the new image.