我已经为我的节点应用程序设置了一个 Docker 容器并使用运行它
docker run -p 4500:4500 my_node_app
它以无守护程序模式启动 pm2。 CTRL+C 和退出不起作用。我已在另一个终端窗口中尝试 docker stop my_node_app 但无济于事。 感谢任何帮助。
您将能够使用以下命令查看当前正在运行的 docker 容器。
docker ps
然后复制正在运行的容器的CONTAINER ID并执行以下命令
docker stop <container_id>
请替换为真实值。
你可以试试这个,非常简单的脚本
docker container kill $(docker ps | awk '/lookup_value/ {print $1}')
解释了
以表格结构列出容器
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 $1}'
结果
763e1a00808e
所以总而言之,这将隔离并发送与图像名称匹配的容器 ID 的终止或停止命令
替代AWS
docker kill $(docker ps -q)
docker ps -q
获取所有容器的id