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

时间:2016-02-01 03:54:00

标签: docker

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

docker stop CONTAINER_ID
docker rm CONTATINER_ID

11 个答案:

答案 0 :(得分:140)

您可以使用:

docker rm -f CONTAINER_ID

即使容器仍在运行,它也会移除容器。

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

您还可以使用--rm选项运行容器,停止时会自动删除容器。

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

答案 1 :(得分:12)

docker stop CONTAINER_ID | xargs docker rm

答案 2 :(得分:8)

您可以使用单个命令停止和删除容器,$_为您提供最后一个回声

docker stop CONTAINER && docker rm $_

答案 3 :(得分:2)

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

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

答案 4 :(得分:2)

我要删除所有正在运行的容器,

docker rm -f $(docker ps -a -q); docker rmi $(docker images -q)

答案 5 :(得分:1)

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

答案 6 :(得分:1)

使用带有-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)

答案 7 :(得分:0)

删除单个容器

docker rm -f CONTAINER_ID

删除所有容器

docker rm -f `docker container ps -qa`

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

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

要停止活动容器,docker stop CONTAINER_ID等待10秒,然后调用docker kill CONTAINER_ID

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

答案 10 :(得分:0)

使用xargs删除所有容器

docker ps -a -q | xargs docker rm 

全部停止

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

删除单个容器

docker rm -f <container_id>