相关疑难解决方法(0)

使用kubectl在pod中执行bash命令?

我的问题很简单.

如何在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脚本执行)

谢谢.

kubernetes kubectl

20
推荐指数
2
解决办法
4万
查看次数

为什么“ docker run -t”输出在命令输出中包含\ r?

我正在使用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)

docker

6
推荐指数
1
解决办法
224
查看次数

Kubectl exec命令将内容写入Pod中的文件

我正在尝试以下命令

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)

什么是实现这一目标的最佳方法

exec kubernetes kubectl

5
推荐指数
1
解决办法
4599
查看次数

标签 统计

kubectl ×2

kubernetes ×2

docker ×1

exec ×1