我们有一个 docker 镜像。我正在尝试使用 kubernetes 来部署它。我的疑问是,我可以部署一个带有单个容器的 Pod,但在容器启动时不在容器中运行任何进程吗?但启动后运行它。也就是说,容器启动后,进入容器的bash,并运行进程(假设是一个java进程)?那可能吗?
现在,当我尝试部署一个没有运行进程的 Pod 时,我收到以下错误:
后退重新启动失败的 docker 容器同步 Pod 时出错,跳过:无法使用 CrashLoopBackOff 为“containerName”“StartContainer”:
但是当我用 java 进程启动容器时,它就可以工作了。不确定是否是因为容器中没有进程?请指导。
无论如何,您想要做的事情听起来像是反模式,您可以在睡眠过程中进行操作,例如:
apiVersion: v1
kind: Pod
metadata:
name: app
spec:
containers:
- name: app-container
image: app-image:version
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
Run Code Online (Sandbox Code Playgroud)
然后您可以运行您的流程但是:
command容器中运行应用程序,则可以保存