首页 > 解决方案 > 如何将多个参数传递给容器

问题描述

我有一个默认 ENTRYPOINT 作为 entrypoint.sh 的 docker 映像,其工作是执行另一个作为参数传递给该 entrypoint.sh 的 shell 脚本。现在我将此图像用作某些容器的 initContainer。我想将两个参数传递给这个 initContainer。目前我正在做如下,但它不工作。

initContainers:
 - name: init
   image: <image_name>
   args: ["agr1 agr2"]
      

标签: dockerkubernetes

解决方案


您可以在中间使用逗号

containers:
  - name: command-demo-container
    image: debian
    command: ["printenv"]
    args: ["HOSTNAME", "KUBERNETES_PORT"]

参考文档:https ://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/

多参数示例

initContainers:
  - name: init-myservice
    image: busybox:1.28
    command: ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"]

列出

containers:
  - name: busybox
    image: busybox
    args:
    - sleep
    - "1000000"

同样的方式你可以传递给CMD & Entrypoint


推荐阅读