Docker - OS X 转发本地主机 22 端口到容器 2022 端口

Docker - OS X forward localhost 22 port to container 2022 port

我在 Mac OSX 上使用 Docker。

我有一个带有打开的 ssh 守护进程的容器,监听端口 22

虚拟机设置为将本机2022端口的所有流量转发到这个容器22端口。

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

我的机器运行在 192.168.99.100

我已经使用 Apache 虚拟主机配置和代理将本地主机端口 8080 上的所有 HTTP 流量转发到机器。

对 ssh 执行相同操作的正确方法是什么?

我认为它涉及提到的 SSH 隧道 here 但我不明白如何设置我的本地主机将始终将 ssh 连接从 localhost:2022 转发到 192.168.99.100:2022

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

now I want to connect between my localhost:2022 to the machine:2022

然后您需要您的 boot2docker VM(由 docker-machine 创建)将端口 2022 转发到您的 MacOS 主机。
以“”为例。

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

注意:这与 ssh 无关,它仅与您使用 VM 作为 Linux 主机,并且您已将某些内容映射到其端口 2022 相关。
仅当您转发它时,该端口才会从您实际的 MacOS 本地主机可见。