如何在一个命令ssh + bash到Docker容器中

我需要login到在远程主机上运行的Docker容器内的bash控制台。

以下命令工作:

(local)$ ssh -i myKey user@remoteHost (remote)$ docker exec -it myContainer /bin/bash 

请注意,我使用SSH进行无密码validation。 我的情况有一点涉及,包括一个脚本进入一个单一的命令(这实际上也可以找出docker的容器ID),这足以显示问题。 当我尝试在单个命令中运行时,出现以下错误:

 (local)$ ssh -i myKey user@remoteHost "docker exec -it myContainer /bin/bash" cannot enable tty mode on non tty input 

我怎样才能运行这个SSH并通过“不能启用tty”错误?

ssh使用-t选项(两次):

 ssh -tt -i myKey user@remoteHost docker exec -it myContainer /bin/bash 

你可以使用命令(从你的电脑) docker-machine与这个你可以连接到docker服务器(如果暴露的API)pipe理docker像你的本地环境(dockerPS,docker运行等)等文件:

 https://docs.docker.com/machine/