是否有任何命令可以将docker stop
和docker rm
命令组合在一起?每次我想要删除一个正在运行的容器时,我需要按顺序执行2个命令,我想知道是否有一个组合命令可以简化这个过程。
docker stop CONTAINER_ID
docker rm CONTATINER_ID
答案 0 :(得分:140)
您可以使用:
docker rm -f CONTAINER_ID
即使容器仍在运行,它也会移除容器。
https://docs.docker.com/engine/reference/commandline/rm/
您还可以使用--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>