当前位置: 首页 > 知识库问答 >
问题:

kubectl exec失败,出现错误“无法使用TTY-输入不是终端或正确类型的文件”。

柳珂
2023-03-14

我正在使用以下命令运行一个jenkins管道:

kubectl exec -it kafkacat-5f8fcfcc57-2txhc -- kafkacat -b cord-kafka -C -t BBSim-OLT-0-Events -o s@1585031458

共有1个答案

公西运良
2023-03-14

当标志-itkubectlexec一起使用时,它将启用TTY交互模式。考虑到您提到的错误,Jenkins似乎没有分配TTY。

由于您正在Jenkins作业中运行该命令,因此我假设您的命令不一定是交互式的。该问题的一个可能解决方案是简单地删除-t标志,并尝试执行以下命令:

kubectl exec -i kafkacat-5f8fcfcc57-2txhc -- kafkacat -b cord-kafka -C -t BBSim-OLT-0-Events -o s@1585031458
 类似资料:
  • 我正在使用以下命令运行jenkins管道: 在管道运行的机器终端上运行正常,但在实际管道上,我得到以下错误:“无法使用TTY-输入不是终端或正确类型的文件” 关于如何解决这个问题有什么建议吗?

  • 我已经在Ubuntu 18.04上注册了一个安装了shell执行器的GitLab运行程序,并使用下面的命令设置了一个docker容器 然后,我尝试从gitlab ci中的执行以下命令,但出现了一个错误。 除了使用docker exec之外,是否有任何关于此问题的线索?我知道,在Gitlab CI环境中工作,但它将在容器中创建一个新会话,这对我来说是不可取的。谢谢

  • 从多个github讨论中,我发现这是一个windows网络错误。 这个问题有解决办法吗?我应该降级docker版本还是安装其他东西。 我正在使用windows容器。运行docker版本客户端:版本:17.06.0-CE API版本:1.30 Go版本:Go1.8.3 Git提交:02C1D87构建:周五6月23日21:30:30 2017 OS/arch:Windows/amd64 如何解决lin

  • 我正在从我的运行以下命令。但是,我得到错误“输入设备不是TTY”。 是否有一种方法可以在不执行交互模式的情况下从运行脚本? 我基本上有一个名为我想在Docker容器中运行。

  • 问题内容: 我正在从中运行以下命令。但是,出现错误 “输入设备不是TTY” 。 有没有一种方法可以在不进行交互模式的情况下从中运行脚本? 我基本上有一个名为的文件,希望在Docker容器中运行。 问题答案: 从cli中删除使其不具有交互性,并删除TTY。如果不需要,例如在Jenkins或cron脚本中运行命令,则应这样做。 或者,您也可以将其更改为输入到不是来自TTY的docker命令中的输入。如

  • 我正在从我的运行以下命令。然而,我得到错误“输入设备不是一个TTY”。 有没有一种方法可以从运行脚本,而不用做交互模式? 我基本上有一个名为的文件,我希望在Docker容器中运行该文件。