持续集成 在 jenkins 上面用 k8s 命名启动了容器,如何在 jenkins 的执行 shell 里面进入容器里面执行命令?

小龙 · 2020年03月15日 · 最后由 孙高飞 回复于 2020年04月07日 · 1911 次阅读

在 jenkins 上面 k8s 命名启动了容器,想进入容器里的 shell,执行命令,跳入不了,有什么处理方法么?

最佳回复

kubectl 的命令不是这么用的~~~ kubectl exec -it podname bash 这个命令是使用 tty 打开了容器的 bash shell 窗口。 脚本不是你在 shell 里做命令交互~~ exec 是让容器执行命令的, 所以你直接用 kubectl exec podname 你要执行的命令 就行了

共收到 5 条回复 时间 点赞

没有 bash,就用 sh 呀

kubectl 的命令不是这么用的~~~ kubectl exec -it podname bash 这个命令是使用 tty 打开了容器的 bash shell 窗口。 脚本不是你在 shell 里做命令交互~~ exec 是让容器执行命令的, 所以你直接用 kubectl exec podname 你要执行的命令 就行了

孙高飞 回复

好的,我试过了真的可以,非常感谢,但是如果我需要同时运行多条指令呢该如何操作?

韩将 回复

sh 也报同样的错误

小龙 回复

命令后面加分号然后接着下一跳命令~~~ 命令太多就写成脚本,先用 kubectl cp 命令 copy 到容器里。然后在 kubectl exec 去执行~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册