3 回答
TA贡献1847条经验 获得超11个赞
由于您没有指定如何执行它,因此我将假定您一直在使用(默认情况下创建部署)或定义部署的清单。如果是这样,则预期为,因为部署适用于长时间运行的进程。您的 Java 代码不会长时间运行。它打印一些东西,然后退出,也就是说,那里没有无限循环。kubectl run
CrashLoopBackOff
因此,要么执行 in 循环(中间有睡眠?),要么使用运行命令或用于一次性执行的工作负载类型(如作业)。System.out.println
顺便说一句,即使进行了部署,您仍然应该能够使用 kubectl 日志来查看第一次执行的输出。
TA贡献1824条经验 获得超6个赞
假设一些事情也是如此。假设映像运行正常,并且唯一的问题是在没有进程运行时 Docker 容器被关闭,您所要做的就是强制进程运行一段时间。
因此,您可以执行以下操作:
kubectl run hello-world --image YOUR-IMAGE sleep 100
这将创造一个你好的世界。Pod 将运行 100 秒,然后死亡,并且将创建一个新容器 100 秒,依此类推。deployment
hello-world-xxxxxx-xxxx
当您收到确认时,您将执行以下操作:
kubectl get po
复制 Pod 的名称,并获取日志:
kubectl logs YOUR-POD-NAME
你应该看到你好的世界。
TA贡献1798条经验 获得超7个赞
您需要提供复制、运行和入口点命令的位置。在文件名前面加上路径,比如说
复制你好世界.java/你好世界.java运行爪哇/你好世界.java入口点[“爪哇”,“/你好世界]
添加回答
举报