我有一个运行中的容器和一个正在运行的应用程序。
现在
kubectl exec -it <deployment> bash
此容器公开了端口80,我想调试一些代码以在端口80上启动新进程-怎么办?
如果我执行kill <PID>
,则exec shell终止于:
命令以退出代码137终止
答案 0 :(得分:1)
运行容器时,它将一直运行到退出容器规范的主进程(在command
字段中定义)为止。当您运行kill
命令时,容器将标记为已完成。
要像这样调试,您应该在不启动主应用程序的情况下运行应用程序。您可以运行kubectl run myappdebug -it --image=YOUR_IMAGE bash
,然后再对其进行调试。
完成部署后,请记住使用调试程序删除部署:kubectl del deployment/myappdebug