首页 > 解决方案 > 添加 --command 标志与不添加

问题描述

从0开始学习kubernetes,试图找出添加--command标志和点头添加到这个命令之间的区别。

kubectl run busybox --image=busybox --command --restart=Never -- env

VS

kubectl run busybox --image=busybox --restart=Never -- env

几乎都为我工作,我错过了什么?

将输出写入 yaml:

使用 --command :

- command:
  - env
  image: busybox
  name: busybox1

没有 --command :

- args:
  - env
  image: busybox
  name: busybox

args 和 command 和有什么不一样?

标签: kuberneteskubernetes-pod

解决方案


您可以随时查看

kubectl run -h

使用默认命令(即在 Docker 容器清单中定义的命令)启动 nginx 容器,但对该命令使用自定义参数 (arg1 .. argN)。

  kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>

使用不同的命令和自定义参数启动 nginx 容器。

  kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>

如果我们与 Docker 进行比较:

Docker 的ENTRYPOINT- 执行容器时调用的可执行文件 - 映射到commandKubernetes

Docker 的CMD- 传递给ENTRYPOINT映射到的参数args- 在 Kubernetes

在您的情况下,它没有任何区别,因为您实际上没有指定任何命令(--command ls例如,应该是。


推荐阅读