我的问题很简单.
如何在pod中执行bash命令?我想用一个bash命令做一切事情?
[root@master ~]# kubectl exec -it --namespace="tools" mongo-pod --bash -c "mongo"
Error: unknown flag: --bash
Run Code Online (Sandbox Code Playgroud)
因此,命令被忽略.
[root@master ~]# kubectl exec -it --namespace="tools" mongo-pod bash -c "mongo"
root@mongo-deployment-78c87cb84-jkgxx:/#
Run Code Online (Sandbox Code Playgroud)
或者.
[root@master ~]# kubectl exec -it --namespace="tools" mongo-pod bash mongo
Defaulting container name to mongo.
Use 'kubectl describe pod/mongo-deployment-78c87cb84-jkgxx -n tools' to see all of the containers in this pod.
/usr/bin/mongo: /usr/bin/mongo: cannot execute binary file
command terminated with exit code 126
Run Code Online (Sandbox Code Playgroud)
如果它只是一个bash,它肯定有效.但是我想立刻跳进mongo shell.
我找到了一个解决方案,但它不起作用.告诉我现在是否可以这样做? 在kubernetes pod中执行多个命令(或从shell脚本执行)
谢谢.
我正在使用Docker客户端版本:18.09.2。
当我以交互方式启动容器并运行date命令,然后将其输出通过管道hexdump进行检查时,我看到的\n是预期的结尾:
$ docker run --rm -i -t alpine
/ # date | hexdump -c
0000000 T h u M a r 7 0 0 : 1 5
0000010 : 0 6 U T C 2 0 1 9 \n
000001d
Run Code Online (Sandbox Code Playgroud)
但是,当我date直接将命令作为入口点传递并运行容器时,\r \n每次输出中都有新行时,都会得到提示。
$ docker run --rm -i -t --entrypoint=date alpine | hexdump -c
0000000 T h u M a r 7 0 0 : 1 6
0000010 : 1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试以下命令
kubectl exec -it sss-pod-four echo "hi" >> /mnt/sss/testnew.txt
Run Code Online (Sandbox Code Playgroud)
但这会引发错误
-bash: /mnt/sss/testnew.txt: No such file or directory
Run Code Online (Sandbox Code Playgroud)
什么是实现这一目标的最佳方法