在 Kubernetes 上复制命令崩溃 pod 启动

Copy command crash pod startup on Kubernetes

我是 Kubernetes 的新手,我正在尝试了解这些命令。 基本上我想做的是创建一个 Tomcat 部署,添加一个 nfs,然后我将 war 文件复制到 tomcat webapps。
但它失败了

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: webapp11-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: webapp11
    spec:
      volumes:
        - name: www-persistent-storage
          persistentVolumeClaim:
            claimName: claim-webapp11
      containers:
      - name: webapp11-pod
        image: tomcat:8.0
        volumeMounts:
          - name: www-persistent-storage
            mountPath: /apps/build
        command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps"]
        ports:
        - containerPort: 8080

据我了解,当图像有命令时,例如Tomcat图像上的catalina.sh 运行,它会与来自命令的命令发生冲突库伯内特斯
对吗?
pod 启动后有没有要 运行 的命令?

谢谢

不,你想要的大概是这样的:

command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps && exec /whatever/catalina.sh"]

或者您可以将 cp 移动到 initContainer 中,这样您就不必覆盖 Tomcat 容器的默认命令。