有没有什么命令可以将docker stop和docker rm命令组合在一起?每次我想要删除一个正在运行的容器,我需要连续执行2个命令,不知道是否有一个组合命令可以简化这个过程。
docker stop CONTAINER_ID
docker rm CONTATINER_ID
有没有什么命令可以将docker stop和docker rm命令组合在一起?每次我想要删除一个正在运行的容器,我需要连续执行2个命令,不知道是否有一个组合命令可以简化这个过程。
docker stop CONTAINER_ID
docker rm CONTATINER_ID
你可以使用:
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 rm -f CONTAINER_ID
用于移除所有容器
docker rm -f `docker container ps -qa`
使用带-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) after。
如果你想删除镜像,只运行docker rmi $(docker images -q)。
删除所有停止的集装箱码头系统修剪
要停止活动容器,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>