杀死一个 Docker 个容器

Kill a Docker Container

我已经为我的节点应用设置了一个 Docker 容器,运行 它使用

docker run -p 4500:4500 my_node_app

它以非守护进程模式启动了 pm2。 CTRL+C 和退出不起作用。我已经在另一个终端 window 中尝试 docker 停止 my_node_app 但无济于事。 感谢任何帮助。

如果您还不知道容器名称,请执行 docker container ls 查找容器名称,然后 docker kill container_name

来源:Docker documentation

您将能够使用以下命令查看当前 运行 docker 个容器。

docker ps

然后复制运行容器的CONTAINER ID,执行以下命令

docker stop <container_id>

请替换为实际值。

你可以试试这个,非常简单的脚本

docker container kill $(docker ps | awk '/lookup_value/ {print }')

已解释

以表格结构列出容器

docker ps

结果

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
763e1a00808e        7bb2586065cd        "docker-entrypoint.s…"   2 months ago        Up 2 weeks          3306/tcp, 33060/tcp   mysql_1
763e1a00999b        7bb2586065cd        "docker-entrypoint.s…"   1 months ago        Up 2 weeks          3307/tcp, 33061/tcp   mysql_2

隔离你的容器

awk /mysql_1/

结果

763e1a00808e        7bb2586065cd        "docker-entrypoint.s…"   2 months ago        Up 2 weeks          3306/tcp, 33060/tcp   mysql_1

隔离作为容器 ID 的第一个选项卡值

awk ' /mysql_1/ {print }'

结果

763e1a00808e

所以总而言之,这将隔离并发送 kill 或停止命令与镜像名称匹配的容器 ID

  1. “Docker container ls “查看现有容器
  2. “Docker container kill container_id”强制终止或“docker container stop container_id”正常终止