我想ssh
进入运行 Docker 引擎的远程服务器,然后以交互模式进入docker exec
。我想一次性完成所有操作。bash
my-nice-container
我从本地计算机执行此操作:
ssh my-site-with-a-docker-engine.example.com docker exec -it my-nice-container bash
我收到此错误:“输入设备不是 TTY”
问题:我怎样才能强制ssh
通知对方我们确实是一个交互式终端?
注1:
如果我执行此命令“splitted”,它会起作用:
- 我先来
ssh
,- 然后我从里面
ssh
输入docker exec
。
笔记2:
非交互式命令效果很好。例如,这个命令有效:
ssh [email protected] docker ps -a
答案1
找到了。是的-t
。第一次查看手册页https://linux.die.net/man/1/ssh搜索“终端”和“交互式”这两个词并没有解决,这就是我问的原因。
然后我发现“-t
强制伪tty分配”。
已检查此操作是否有效:
ssh -t my-site-with-a-docker-engine.example.com docker exec -it my-nice-container bash