2

我想用命令行参数--lines 56 -F创建一个容器。

  1. 选项:为此我运行了命令 => k run app --image=lfccncf/arg-output --dry-run=client -o yaml > pod9.yaml

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: app
      name: app
    spec:
      containers:
      - image: lfccncf/arg-output
        name: app
        args: ["--lines","56","F"]
    
  2. 选项:这是第二个选项如何完成任务。 kubectl run app1 --image=lfccncf/arg-output --dry-run=client --command ["--lines 56 -F"] -o yaml > pod9.yaml

我有这个限制“在创建你的 pod 时,你不需要指定容器命令,只需要 args”。对于上述限制,哪个选项是正确的?

4

1 回答 1

2

第一,因为您说您不需要指定命令,并且假设它已经预先烘焙到容器映像中。--lines 56 -F是参数而不是“命令”

引用自文档

您在配置文件中定义的命令和参数会覆盖容器映像提供的默认命令和参数。如果您定义 args 但未定义命令,则默认命令将与您的新参数一起使用。

类似的工作方法是:

$ kubectl run app1 --image=lfccncf/arg-output --dry-run=client -o yaml -- --lines 56 -F > pod9.yaml
于 2020-07-10T05:44:42.147 回答