【发布时间】:2017-08-16 23:39:15
【问题描述】:
我的 macOS 上有一个 v6.10.0 节点服务器,它自动从 Dockerfile 中的 CMD 启动。通常在我的本地开发非容器化环境中,我将使用 CTRL+C 来终止服务器。无法(或不知道如何)在容器中执行此操作,我求助于ps aux | grep node 尝试手动终止进程。所以,我得到这样的东西:
myapp [master] :> kubectl exec -it web-3127363242-xb50k bash
root@web-3127363242-xb50k:/usr/src/app# ps aux | grep node
root 15 0.4 0.9 883000 35804 ? Sl 05:49 0:00 node /usr/src/app/node_modules/.bin/concurrent --kill-others npm run start-prod npm run start-prod-api
root 43 0.1 0.6 743636 25240 ? Sl 05:49 0:00 node /usr/src/app/node_modules/.bin/better-npm-run start-prod
root 44 0.1 0.6 743636 25140 ? Sl 05:49 0:00 node /usr/src/app/node_modules/.bin/better-npm-run start-prod-api
root 55 0.0 0.0 4356 740 ? S 05:49 0:00 sh -c node ./bin/server.js
root 56 0.0 0.0 4356 820 ? S 05:49 0:00 sh -c node ./bin/api.js
root 57 18.6 4.9 1018088 189416 ? Sl 05:49 0:08 node ./bin/server.js
root 58 13.9 5.2 1343296 197576 ? Sl 05:49 0:06 node ./bin/api.js
root 77 0.0 0.0 11128 1024 ? S+ 05:50 0:00 grep node
当我试图杀死他们中的一个时
kill -9 15
我从容器的外壳中取出并回到我的计算机外壳。当我再次进入容器时,我看到该进程仍然存在,具有相同的进程 ID。此示例使用 Kubernetes pod,但我相信使用 docker exec 命令进入 Docker 容器会得到相同的结果。
【问题讨论】:
-
我认为你 kill 命令间接导致容器重启。试试看
kubectl describe pod web-.....
标签: linux bash shell docker kubernetes