Kubernetes - 我可以在没有任何过程的情况下使用容器启动容器吗?

时间:2017-03-03 11:22:53

标签: kubernetes

我们有一个码头图像。我正在尝试使用kubernetes进行部署。我怀疑是否可以在单个容器中部署pod,但在容器启动时不能在容器中运行任何进程?但是在它启动后运行它。也就是说,在容器启动之后,进入容器的bash,并运行该进程(假设是一个java进程)?这可能吗?

现在,当我尝试部署没有进程运行的pod时,我收到此错误:

  

退回重启失败的docker容器   同步pod时出错,跳过:未能" StartContainer" for" containerName"使用CrashLoopBackOff:

但是当我使用java进程启动容器时,它可以工作。我不确定它是否因为容器中没有进程?请指导。

1 个答案:

答案 0 :(得分:1)

你正在尝试做的事情听起来像反模式,无论如何你可以用睡眠过程来做,例如像这样:

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;" ]

然后您可以运行您的流程

  • 您的容器不会绑定到秒进程,并且在第二个进程结束时不会结束
  • 你必须做手工工作
  • 如果您只是在容器的command中运行您的应用程序,则可以保存
相关问题