1.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

清理已停止的容器

docker rm -v $(docker ps -aq -f status=exited)

-v 的作用意味着当所有由Docker管理的数据卷已经没有和任何容器关联时,都会一律删除
2.查看当前有些什么images

docker images

3.删除images,通过image的id来指定删除谁

docker rmi <image id>

想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)

4.出现image is referenced in multiple repositories的解决方案
当镜像使用image id 无法删除的时候 报的
Error response from daemon: conflict: unable to delete 8f46db60ddd6 (must be forced) - image is referenced in multiple repositories
通过观察发现是8f46db60ddd6这个镜像id指向了两个repository,因此无法删除

删除时可以用repository和tag的方式来删除
例如 docker rmi repository:tag
再次查看镜像,已经被删除了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐