在长时间运行Docker时,系统中存在大量的镜像。如何一次安全地删除所有未使用的Docker映像以释放存储空间?
另外,我还想删除几个月前拉的图片,这些图片有正确的TAG。
因此,我并不是只要求删除未标记的图像。我正在寻找一种方法来删除一般不使用的图像,其中包括未标记和其他图像,如几个月前拉正确的TAG。
在长时间运行Docker时,系统中存在大量的镜像。如何一次安全地删除所有未使用的Docker映像以释放存储空间?
另外,我还想删除几个月前拉的图片,这些图片有正确的TAG。
因此,我并不是只要求删除未标记的图像。我正在寻找一种方法来删除一般不使用的图像,其中包括未标记和其他图像,如几个月前拉正确的TAG。
当前回答
docker rm $(docker ps -faq)
docker rmi $(docker ps -faq)
- f力
——所有
-q模式
其他回答
如果你有很多这样的图像,移除它们可能真的很乏味,但幸运的是Docker有几个命令可以帮助我们消除悬浮图像。在旧版本的Docker中(这在今天仍然有效),你可以通过运行Docker rmi -f $(Docker images -f " hanging =true" -q)来删除悬浮图像。
首先,运行docker images查看图像列表,并将IMAGE HASH ID复制到剪贴板中。
运行docker rmi -f <镜像>
记住选项-f是强制删除。
下面的命令将帮助从本地存储库中删除所有未使用的和旧的映像 ==> docker系统剪枝——全部
到目前为止(Docker版本1.12),我们使用以下命令删除所有正在运行的容器。同样,如果我们想要删除卷,我们可以在下面的命令中使用相应的标记-v手动删除卷。
删除所有退出的容器
docker rm $(docker ps -q -f status=exited)
删除所有停止的容器
docker rm $(docker ps -a -q)
删除所有运行和停止的容器
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
删除所有容器,没有任何标准
docker container rm $(docker container ps -aq)
但是,在1.13及以上版本中,为了完整的系统和清理,我们可以直接使用以下命令:
docker system prune
所有未使用的容器、映像、网络和卷都将被删除。我们也可以使用以下命令来清理单个组件:
docker container prune
docker image prune
docker network prune
docker volume prune
Docker系统修剪-a
(系统会要求您确认命令。使用-f强制运行,如果你知道你在做什么。)