繁体   English   中英

连接到 docker 容器作为工作区

[英]connecting to a docker container as a workspace

我目前使用一个 vagrant box 作为我的 DevOps/云开发工作区。

vagrant ssh 在 Windows 上的 MobaXterm 中不起作用

我看到了这个 vagrant 命令: command /drives/c/HashiCorp/Vagrant/bin/vagrant ssh-config > vagrant-ssh-config && ssh -A -F vagrant-ssh-config default

在设置的高级选项卡中。

我想使用 mobaxterm 连接 docker 容器以减轻我的工作区的启动和要求。 我该怎么做?

要能够在Windows上通过MobaXterm启动Shell,请执行以下操作:

  1. 单击“ +”选项卡从MobaXterm创建一个新的外壳 创建一个外壳

  2. 转到您的docker安装目录:

cd "C:\\Program Files\\Docker\\Docker\\Resources\\bin"

或搭配:

cd /drives/c/Program Files/Docker/Docker/Resources/bin

  1. 仅使用-i nteractive选项执行docker exec命令:

./docker.exe exec -i your_docker_container /bin/bash

您现在处于Docker容器的bash环境中,可以输入ls例如:

带有ls示例的Docker exec命令

如果需要连接到远程Docker实例,请调整docker命令以包括远程主机( -H

已在Windows 10,MobaXterm v10.9,docker v18.09.2中进行测试。

注意:在一段时间内对其进行测试后,MobaXterm无法为Docker交互式控制台提供良好的支持(bash支持)。 最好使用cmd外壳,powershell或类似外壳。

@BlouBlou,非常感谢您的回答,只是添加了对我有用的信息。 当我尝试使用:“./docker.exe exec -i your_docker_container /bin/bash”时,我连接到终端,但屏幕空白。 尝试使用“-it”,我收到以下消息:“输入设备不是 TTY。如果您使用的是 mintty,请尝试在命令前加上 'winpty'”

我在另一个对我有用的另一个问题找到了一个简单的解决方案,也许对其他用户也有用。只需在 docker.exe 之前添加 winpty

cd "C:\\Program Files\\Docker\\Docker\\Resources\\bin"; winpty ./docker.exe exec -ti yourcontainer /bin/bash

到目前为止,工作 100%。

问候。 德洛科

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM