Docker - OS X将localhost 22端口转发到容器2022端口

时间:2016-04-03 12:27:40

标签: macos ssh docker docker-machine

我在Mac OSX上使用Docker。

我有一个打开ssh守护程序的容器,侦听端口22

虚拟机设置为将计算机端口2022的所有流量转发到此容器22端口。

我想将我的localhost设置为将所有2022流量转发到计算机2022端口。

我的机器在192.168.99.100

运行

我已使用Apache虚拟主机配置和代理将localhost端口8080上的所有HTTP流量转发到该计算机。

为ssh做同样的事情的正确方法是什么?

我认为这涉及到我提到的here的SSH隧道,但我不明白如何设置我的localhost将始终转发从localhost:2022192.168.99.100:2022的ssh连接

P.S。我知道docker容器不应该安装SSH,但我需要它来测试建议。

1 个答案:

答案 0 :(得分:1)

  

现在我想将我的localhost:2022连接到机器:2022

然后你需要你的boot2docker VM(由docker-machine创建)将端口2022端口转发到你的MacOS主机。
见" docker nginx container not receiving request from outside, connection refused"举个例子。

VBoxManage controlvm "default" natpf1 "tcp-port2022,tcp,,2022,,2022"
VBoxManage controlvm "default" natpf1 "udp-port2022,udp,,2022,,2022"

注意:这不是专门针对ssh的,它只与您将VM用作Linux主机,并且已将某些内容映射到其端口2022这一事实有关。
只有在您转发端口时,才能从您的实际MacOS localhost中看到该端口。