单个命令停止和删除docker容器

是否有任何命令可以将docker stopdocker rm命令组合在一起?每次我想要删除一个正在运行的容器,我需要连续执行2个命令,不知道是否有一个组合命令可以简化这个过程。

docker stop CONTAINER_ID
docker rm CONTATINER_ID
118725 次浏览

你可以使用:

docker rm -f CONTAINER_ID

它将删除容器,即使它仍在运行。

https://docs.docker.com/engine/reference/commandline/rm/

你也可以使用--rm选项运行你的容器(例如docker run --rm -it alpine),它会在停止时自动删除。

https://docs.docker.com/engine/reference/run/#clean-up---rm

rm -f可能对你的数据有危险,最适合用于测试或开发容器。@Bernard对这个问题的评论值得一读。

https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/

你可以使用kill,也可以使用rm和force标志,它也会使用kill。

docker stop CONTAINER_ID | xargs docker rm

用于移除单个容器

docker rm -f CONTAINER_ID

用于移除所有容器

docker rm -f `docker container ps -qa`

删除所有容器:docker ps -aq | xargs docker rm -f

这将停止并删除所有图像,包括使用-f时正在运行的容器

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

你可以用一个命令停止并删除容器,$_给你最后一个回显

docker stop CONTAINER && docker rm $_

使用带-a标志的docker ps命令定位要移除的容器的名称或ID

docker ps -a

删除:$ docker rm ID_or_Name ID_or_Name

在退出时移除容器:

如果你知道当你创建一个容器时,你不想在完成后保留它,你可以运行docker run——rm在它退出时自动删除它。

运行并删除:docker run --rm image_name

移除所有退出的容器:

您可以使用docker ps -a来定位容器,并根据它们的状态进行过滤:创建、重新启动、运行、暂停或退出。要查看已退出容器的列表,可以使用-f标志根据状态进行筛选。验证完成后,您希望删除这些容器,使用-q将id传递给docker rm命令。

列表:

docker ps -a -f status=exited


docker rm $(docker ps -a -f status=exited -q)

使用多个过滤器移除容器:

Docker过滤器可以通过重复过滤器标志和附加值来组合。这将产生满足任一条件的容器列表。例如,如果你想删除所有标记为已创建(当你运行一个无效命令的容器时可能导致的状态)或已退出的容器,你可以使用两个过滤器:

docker ps -a -f status=exited -f status=created

停止并移除所有容器:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

在我的例子中,删除我使用的正在运行的容器

 docker rm -f $(docker ps -a -q)

如果您还需要删除图像,则运行 docker rmi $(docker images -q)。< / p >

只有运行docker rmi $(docker images -q)如果你想删除图像。

删除所有停止的容器docker system prune

为了停止活动容器,docker stop CONTAINER_ID等待10秒并调用docker kill CONTAINER_ID

或者使用docker kill CONTAINER_ID,你可以立即停止容器

用xargs删除所有容器

docker ps -a -q | xargs docker rm

停止一切

sudo docker ps -a -q |sudo  xargs docker stop


拆卸单个容器

docker rm -f <container_id>