如何使用 ssh 命令运行“docker exec”

如何使用 ssh 命令运行“docker exec”

不是一件有趣的事——

#!/usr/bin/env bash

ssh -i 'my.pem' "ubuntu@${addr}" "docker exec -ti '$name' bash"

我收到这个蹩脚的错误:

the input device is not a TTY

完全没有上下文。 docker 在机器上运行良好。有人知道我可以做些什么来使这项工作按预期进行吗?

我也尝试过这个,我得到了同样的错误:

 ssh -i 'my.pem' "ubuntu@${hb_ip_addr}" "bash -c 'docker exec -ti '$name' bash'"

糟糕的。

答案1

答案如下: https://stackoverflow.com/a/47025876/1223975

简而言之,您需要:

ssh -tti

是的,有两个“t”参数。

真是一个噩梦般的实用程序。

所以现在这可以在zshbashv5的 macOS 机器上运行:

 ssh -tti 'my.pem' "ubuntu@${addr}" "docker exec -ti $name bash"

相关内容