在Ubuntu 14.04 (Trusty Tahr)上,我正在寻找一种停止运行容器的方法,我所拥有的唯一信息是Docker run命令中使用的映像名称。
是否有一个命令来查找与映像名称匹配的所有正在运行的匹配容器并停止它们?
在Ubuntu 14.04 (Trusty Tahr)上,我正在寻找一种停止运行容器的方法,我所拥有的唯一信息是Docker run命令中使用的映像名称。
是否有一个命令来查找与映像名称匹配的所有正在运行的匹配容器并停止它们?
当前回答
如果你知道容器名称的一部分,你可以使用AWK与docker如下:
CONTAINER_IDS=$(docker ps -a | awk '($2 ~ /container.*/) {print $1}')
if [ -z "$CONTAINER_IDS" -o "$CONTAINER_IDS" == " " ]; then
echo "No containers available for deletion"
else
docker rm -f $CONTAINER_IDS
fi
其他回答
你可以设置一个容器名来启动容器:
docker run -d --name <container-name> <image-name>
同一个映像可以用来启动多个容器,因此这是启动容器的好方法。然后你可以使用这个container-name来停止,附加…容器:
docker exec -it <container-name> bash
docker stop <container-name>
docker rm <container-name>
如果你知道容器名称的一部分,你可以使用AWK与docker如下:
CONTAINER_IDS=$(docker ps -a | awk '($2 ~ /container.*/) {print $1}')
if [ -z "$CONTAINER_IDS" -o "$CONTAINER_IDS" == " " ]; then
echo "No containers available for deletion"
else
docker rm -f $CONTAINER_IDS
fi
适用于Docker 18.09.0版本 我发现不需要格式标志
docker rm $(docker stop $(docker ps -a -q -f ancestor=<image-name>))
列出所有带有信息和ID的容器
docker ps
docker stop CONTAINER ID
停止运行容器的两种方法:
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/