我最近开始使用Docker,从未意识到我应该使用Docker compose down而不是ctrl-c或Docker composestop来摆脱我的实验。我现在在本地有大量不需要的docker图像。

我是否可以运行一个标志来删除所有本地docker图像和容器?

类似docker rmi-all-force-all-flag的东西不存在,但我正在寻找具有类似想法的东西。


当前回答

要删除所有图像,请执行以下操作:

docker rmi -f $(docker images -a | awk {'print $3'})

说明:

docker图像-a|awk{'打印$3'}

此命令将返回所有图像id,然后使用其id删除图像。

其他回答

要删除所有图像,请执行以下操作:

docker rmi $(docker images -a -q)

其中-a是all,-q是仅返回图像id

要删除未使用的图像和容器,请执行以下操作:

docker system prune

注意,如果您正在使用dockerswarm,并且您的本地机器正在加入远程swarm(作为管理员/工作人员),那么您的本地将是部署的repo。执行此操作从而移除部署的图像。

xargs的另一种方式(仅限Unix)

docker image ls -q | xargs -I {} docker image rm -f {}

您可以这样尝试:

docker system prune
docker rmi $(docker images -q) --force

对于Linux Ubuntu用户,下面对我有用。注意事项-它将删除所有内容。

要删除容器及其关联的卷,请使用以下方法:

sudo docker rm -vf $(sudo docker ps -a -q)

要删除图像,请使用以下内容:

sudo docker rmi -f $(sudo docker images -a -q)