【问题标题】:connecting to a docker container as a workspace连接到 docker 容器作为工作空间
【发布时间】:2019-03-28 17:33:33
【问题描述】:
我目前使用 vagrant box 作为 devops/云开发的工作区。
vagrant ssh not working in MobaXterm on Windows
我看到了 vagrant 的这个命令:
命令 /drives/c/HashiCorp/Vagrant/bin/vagrant ssh-config > vagrant-ssh-config && ssh -A -F vagrant-ssh-config 默认
在设置的高级选项卡中。
我想使用 mobaxterm 连接 docker 容器,以减轻我的工作空间的启动和要求。我该怎么做?
【问题讨论】:
标签:
docker
workspace
mobaxterm
【解决方案1】:
为了能够在 Windows 上通过 MobaXterm 启动 shell:
从 MobaXterm 单击“+”选项卡创建一个新的 shell
转到您的 docker 安装目录:
cd "C:\Program Files\Docker\Docker\Resources\bin"
或与:
cd /drives/c/Program Files/Docker/Docker/Resources/bin
- 仅使用
-interactive 选项执行 docker exec 命令:
./docker.exe exec -i your_docker_container /bin/bash
你现在在你的 docker 容器的 bash 环境中,你可以输入 ls 例如:
如果您需要连接到远程 docker 实例,请调整 docker 命令以包含远程主机 (-H)
已在 Windows 10、MobaXterm v10.9、docker v18.09.2 上测试。
注意:经过一段时间的测试,MobaXterm 并没有很好地支持 docker 交互式控制台(bash 支持)。最好使用 cmd shell、powershell 或类似的。
【解决方案2】:
@BlouBlou,非常感谢您的回答
只需添加对我有用的信息。
当我尝试使用时:
“./docker.exe exec -i your_docker_container /bin/bash”
我连接到终端,但屏幕空白。
尝试使用“-it”,我收到以下消息:
“输入设备不是 TTY。如果您使用的是 mintty,请尝试在命令前加上 'winpty'”
I've found a simple solution in another another question 对我有用,也许对其他用户有用..
只需在docker.exe前添加winpty
cd "C:\Program Files\Docker\Docker\Resources\bin"; winpty ./docker.exe exec -ti yourcontainer /bin/bash
到目前为止,工作 100%。
问候。
德洛科