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

我在我的Mac OSX上使用Docker。

我有一个开放的ssh守护进程的容器,听22端口。

虚拟机被设置为将机器的2022端口的所有stream量转发到该容器22端口。

我想设置我的本地主机转发所有2022stream量到机器2022端口。

我的机器运行在192.168.99.100

我已经使用Apache虚拟主机configuration和代理将本地端口8080上的所有HTTP通信转发到本机。

什么是正确的方式来做同样的SSH?

我认为这涉及SSH隧道,如上所述,但我不明白如何设置我的本地主机将始终从localhost:2022转发ssh连接localhost:2022192.168.99.100:2022

PS我知道docker集装箱不应该安装SSH,但我需要它进行testingbuild议。

现在我想连接我的本地主机:2022到机器:2022

然后你需要你的boot2docker虚拟机(由docker-machine创build)将端口2022端口转发到你的MacOS主机。
以“ docker nginx容器没有收到外部请求,连接被拒绝 ”为例。

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

注意:这并不是专门针对ssh的,这只是关系到你使用虚拟机作为Linux主机,而且你已经将某些东西映射到了它的端口2022。
只有在端口转发的情况下,该端口才能从实际的MacOS本地主机上可见。

Interesting Posts