apiVersion: v1
kind: Pod
metadata:
  name: javaweb-2
spec:
  initContainers:
  - image: 192.168.137.102:5000/tomcat_war_v1
    name: war
    command: ["cp", "/sample.war", "/app"]
    volumeMounts:
    - mountPath: /app
      name: app-volume
  containers:
  - image: 192.168.137.102:5000/centos_tomcat_v1
    name: tomcat
    command: ["sh","-c","/usr/local/apache-tomcat-8.5.11/bin/startup.sh"]
    volumeMounts:
    - mountPath: /usr/local/apache-tomcat-8.5.11/webapps
      name: app-volume
    ports:
    - containerPort: 8080
      hostPort: 8001 
  volumes:
  - name: app-volume
    emptyDir: {}

  Warning  BackOff    4m4s (x5 over 4m47s)  kubelet            Back-off restarting failed container
  
  Back-off restarting failed container的Warning事件,一般是由于通过指定的镜像启动容器后,容器内部没有常驻进程,导致容器启动成功后即退出,从而进行了持续的重启。
  
  
  [root@dock01 ~]# kubectl get pods   -n default
NAME                                READY   STATUS             RESTARTS   AGE
javaweb-2                           0/1     CrashLoopBackOff   4          2m36s
nginx-deployment-66db4f9b59-479w6   1/1     Running            3          2d2h
nginx-deployment-66db4f9b59-7wzh6   1/1     Running            3          19h
two-containers                      1/2     NotReady           0          109m
[root@dock01 ~]# kubectl logs -f javaweb-2   -n default
Tomcat started.


tomcat要前台启动 ,不然容器会退出

[root@dock01 ~]# cat webapp.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: javaweb-2
spec:
  initContainers:
  - image: 192.168.137.102:5000/tomcat_war_v1
    name: war
    command: ["cp", "/sample.war", "/app"]
    volumeMounts:
    - mountPath: /app
      name: app-volume
  containers:
  - image: 192.168.137.102:5000/centos_tomcat_v1
    name: tomcat
    command: ["sh","-c","/usr/local/apache-tomcat-8.5.11/bin/catalina.sh  run"]
    volumeMounts:
    - mountPath: /usr/local/apache-tomcat-8.5.11/webapps
      name: app-volume
    ports:
    - containerPort: 8080
      hostPort: 8001 
  volumes:
  - name: app-volume
    emptyDir: {}
    
    
dock03:/usr/local/apache-tomcat-8.5.11/bin#docker ps -a | grep tomcat_war_v1
08792235400d   192.168.137.102:5000/tomcat_war_v1                              "cp /sample.war /app"    3 minutes ago        Exited (0) 3 minutes ago                                  k8s_war_javaweb-2_default_96c9547a-fc10-42f2-a676-4321794568a5_0

initContainers这个容器退出了

[root@javaweb-2 /]# cd /usr/local/apache-tomcat-8.5.11/webapps/
[root@javaweb-2 webapps]# ls
sample    sample.war
    

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐