在kubernetes容器中运行bash脚本

问题描述

我正在尝试使用以下yaml文件运行外部bash脚本。

该脚本在/scripts/run.sh文件夹中。我还给了defaultMode: 0777

这是我得到的错误

sh: 0: Can't open /scripts/run.sh
apiVersion: v1
data:
  script.sh: |-
    echo "Hello World!"
    kubectl get pods
kind: ConfigMap
Metadata:
  name: script-configmap
---
apiVersion: batch/v1
kind: Job
Metadata:
  labels:
    app: script-job
  name: script-job
spec:
  backoffLimit: 2
  template:
    spec:
      containers:
        - command:
            - sh
            - /scripts/run.sh
          image: 'bitnami/kubectl:1.12'
          name: script
          volumeMounts:
            - name: script-configmap
              mountPath: /scripts
              subPath: run.sh              
              readOnly: false
      restartPolicy: Never
      volumes:
        - name: script-configmap
          configMap:
            name: script-configmap
            defaultMode: 0777

解决方法

文件名是run.sh而不是containers: - command: - sh - /scripts/script.sh

尝试

class MainActivity : AppCompatActivity() {

    lateinit var onCameraClick : () -> Unit

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            SampleTheme {
                Surface(color = MaterialTheme.colors.background) {
                    MainView(onCameraClick = onCameraClick)
                }
            }
        }

        onCameraClick = {
            // Camera logic inside activity scope.
        }
    }
}

@Composable
fun MainView(onCameraClick : () -> Unit) {
    Button(onClick = onCameraClick) {
        Text(text = "Camera")
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...