Kubernetes:我什么时候需要将 /bin/sh -c 添加到我的命令中?
Kubernetes: when do i need to add /bin/sh -c to my command?
我正在准备 CKAD 考试,我正在练习提供的问题 here
我对这两种不同的命令执行方式有疑问。这里提供的示例是一份工作,但我认为这个问题可能更笼统并且可以扩展到所有容器。
作业练习下有两个要求:
kubectl create job pi --image=perl -- perl -Mbignum=bpi -wle 'print bpi(2000)'
Create a job with the image busybox that executes the command 'echo hello;sleep 30;echo world
kubectl create job busybox --image=busybox -- /bin/sh -c 'echo hello;sleep 30;echo world'
为什么在第二个命令中我还需要提供 /bin/sh -c?
我怎么知道何时使用它,何时不使用它?
因为在第一个例子中
kubectl create job pi --image=perl -- perl -Mbignum=bpi -wle 'print bpi(2000)'
你打电话给perl
口译员,perl -Mbignum=bpi -wle 'print bpi(2000)'
在第二个示例中,您调用了 bash shell 命令,echo hello;sleep 30;echo world
因此 /bin/sh -c
kubectl create job busybox --image=busybox -- /bin/sh -c 'echo hello;sleep 30;echo world'
--
后面说的是在容器内执行的命令。
我正在准备 CKAD 考试,我正在练习提供的问题 here
我对这两种不同的命令执行方式有疑问。这里提供的示例是一份工作,但我认为这个问题可能更笼统并且可以扩展到所有容器。
作业练习下有两个要求:
kubectl create job pi --image=perl -- perl -Mbignum=bpi -wle 'print bpi(2000)'
Create a job with the image busybox that executes the command 'echo hello;sleep 30;echo world
kubectl create job busybox --image=busybox -- /bin/sh -c 'echo hello;sleep 30;echo world'
为什么在第二个命令中我还需要提供 /bin/sh -c?
我怎么知道何时使用它,何时不使用它?
因为在第一个例子中
kubectl create job pi --image=perl -- perl -Mbignum=bpi -wle 'print bpi(2000)'
你打电话给perl
口译员,perl -Mbignum=bpi -wle 'print bpi(2000)'
在第二个示例中,您调用了 bash shell 命令,echo hello;sleep 30;echo world
因此 /bin/sh -c
kubectl create job busybox --image=busybox -- /bin/sh -c 'echo hello;sleep 30;echo world'
--
后面说的是在容器内执行的命令。