在Ubuntu 14.04 (Trusty Tahr)上,我正在寻找一种停止运行容器的方法,我所拥有的唯一信息是Docker run命令中使用的映像名称。
是否有一个命令来查找与映像名称匹配的所有正在运行的匹配容器并停止它们?
在Ubuntu 14.04 (Trusty Tahr)上,我正在寻找一种停止运行容器的方法,我所拥有的唯一信息是Docker run命令中使用的映像名称。
是否有一个命令来查找与映像名称匹配的所有正在运行的匹配容器并停止它们?
当前回答
docker stop $(docker ps -a | grep "zalenium")
docker rm $(docker ps -a | grep "zalenium")
这应该足够了。
其他回答
你可以使用ps命令查看正在运行的容器:
docker ps -a
从那里,您应该可以看到容器的名称以及您正在寻找的容器ID。这里有更多关于docker ps的信息。
在@VonC精彩的回答之上,这里有一个ZSH函数,你可以添加到你的。zshrc文件中:
dockstop() {
docker rm $(docker stop $(docker ps -a -q --filter ancestor="$1" --format="{{.ID}}"))
}
然后在命令行中,简单地执行dockstop myImageName,它将停止并删除所有从名为myImageName的映像启动的容器。
停止运行容器的两种方法:
1. $docker stop container_ID
2. $docker kill container_ID
您可以使用以下命令获取正在运行的容器:
$docker ps
以下链接可获取更多信息:
https://docs.docker.com/engine/reference/commandline/stop/ https://docs.docker.com/v1.8/reference/commandline/kill/
这段代码将停止所有图像为centos:6的容器。我找不到更简单的解决办法了。
docker ps | grep centos:6 | awk '{print $1}' | xargs docker stop
或者更短:
docker stop $(docker ps -a | grep centos:6 | awk '{print $1}')
docker stop $(docker ps -a | grep "zalenium")
docker rm $(docker ps -a | grep "zalenium")
这应该足够了。