我需要登录到一个在远程主机中运行的docker容器中的bash控制台。
以下命令有效:
(local)$ ssh -i myKey user@remoteHost
(remote)$ docker exec -it myContainer /bin/bash
请注意,我使用SSH进行无密码身份验证。我的场景涉及更多,包括一个脚本进入单个命令(实际上也会找出docker容器ID),这足以显示问题。当我尝试在单个命令中运行时,出现以下错误:
(local)$ ssh -i myKey user@remoteHost "docker exec -it myContainer /bin/bash"
cannot enable tty mode on non tty input
如何运行此SSH并通过“无法启用tty”错误?
答案 0 :(得分:5)
-t
使用ssh
选项(两次):
ssh -tt -i myKey user@remoteHost docker exec -it myContainer /bin/bash
答案 1 :(得分:1)
您可以使用命令(来自您的电脑)docker-machine
,您可以连接到docker服务器(如果api暴露),管理Docker就像您的本地环境一样(docker ps,docker run等等)
文档:
https://docs.docker.com/machine/