我在Mac OSX上使用Docker。
我有一个打开ssh
守护程序的容器,侦听端口22
。
虚拟机设置为将计算机端口2022
的所有流量转发到此容器22
端口。
我想将我的localhost设置为将所有2022
流量转发到计算机2022
端口。
我的机器在192.168.99.100
我已使用Apache虚拟主机配置和代理将localhost端口8080上的所有HTTP流量转发到该计算机。
为ssh做同样的事情的正确方法是什么?
我认为这涉及到我提到的here的SSH隧道,但我不明白如何设置我的localhost将始终转发从localhost:2022
到192.168.99.100:2022
的ssh连接
P.S。我知道docker容器不应该安装SSH,但我需要它来测试建议。
答案 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中看到该端口。