我们有一个 docker 形象。并且正在尝试使用kubernetes进行部署。我的疑问是我可以在一个容器中部署一个Pod,但是在容器启动时却不能在容器中运行任何进程吗?但是在启动后运行它。也就是说,在容器启动之后,进入容器的bash并运行该进程(让我们说一个Java进程)?那可能吗?

现在,当我尝试部署没有运行任何进程的Pod时,出现此错误:



但是,当我使用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;" ]

然后,您可以运行进程但可以运行:
  • 您的容器将不受秒进程的约束,并且当您的第二个进程结束时不会结束
  • 您必须做手工
  • 如果仅在容器
  • command中运行应用程序,则可以保存

    关于kubernetes - Kubernetes-我可以不做任何处理就用容器启动容器吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42577578/

    10-09 06:47
    查看更多