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

时间:2016-08-02 13:40:17

标签: bash ssh docker

我需要登录到一个在远程主机中运行的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”错误?

2 个答案:

答案 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/