即使定义了入口点,Kubernetes Image也会进入CrashLoopBackoff

时间:2018-02-06 06:36:28

标签: docker kubernetes kubectl

我正在尝试使用Kubernetes在Dockerfile下运行图像

FROM centos:6.9

COPY rpms/* /tmp/
RUN yum -y localinstall /tmp/*
ENTERYPOINT service test start && /bin/bash

现在,当我尝试使用pod.yml部署此图片时,如下所示,

apiVersion: v1
kind: Pod
metadata:
  labels:
    app: testpod
  name: testpod
spec:
  containers:
  - image: test:v0.2
    name: test
    imagePullPolicy: Always
    volumeMounts:
    - mountPath: /data
      name: testpod
  volumes:
  - name: testod
    persistentVolumeClaim:
      claimName: testpod

现在,当我尝试创建pod时,图像进入了crashloopbackoff。所以我如何让图像在Kubernetes上的/ bin / bash中等待,就像我使用docker run -d test:v0.2时一样,它会罚款并继续运行。

2 个答案:

答案 0 :(得分:0)

您需要将终端连接到正在运行的容器。使用kubectl run ...启动广告连播时,您可以使用-i --tty来执行此操作。在pod yml filke中,您可以将以下内容添加到容器规范中以附加tty。

stdin: true 
tty: true 

答案 1 :(得分:0)

您可以输入tail -f /dev/null之类的命令来保持容器始终 ,这可以在DockerfileKubernetes yaml文件中完成。