当前位置: 首页 > 面试题库 >

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

南宫兴德
2023-03-14
问题内容

我在Mac OSX上使用Docker。

我有一个带有打开的ssh守护程序的容器,正在侦听port 22

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

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

我的机器在 192.168.99.100

我已经使用Apache虚拟主机配置和Proxy将本地端口8080上的所有HTTP通信转发到了计算机。

对ssh做相同的正确方法是什么?

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

ps我知道docker容器不应该安装SSH,但是我需要它来进行测试。


问题答案:

现在我想在我的本地主机:2022和机器:2022之间连接

然后,您需要boot2docker VM(由docker-machine创建)将端口2022端口转发到MacOS主机。请以“ docker nginx容器未从外部接收请求,连接被拒绝
”为例。

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

注意:这与ssh无关,它仅与以下事实有关:您将VM用作Linux主机,并且已将某些内容映射到其端口2022。
只有在实际的MacOS本地主机上,该端口才可见您将其转发。



 类似资料:
  • 问题内容: 主机可以打开Docker容器访问端口吗?具体来说,我在主机上运行了MongoDB和RabbitMQ,我想在Docker容器中运行一个进程以侦听队列并(可选)写入数据库。 我知道我可以将端口从容器转发到主机(通过- p选项),并可以从Docker容器中连接到外部环境(即Internet),但我不想公开RabbitMQ和MongoDB端口从主持人到外界 编辑:一些澄清: 我必须执行此技巧才

  • 问题内容: 我在公司中提供一个私有Docker容器,并希望我的同事能够在我们的内部网络中访问,问题是我的来宾操作系统是OSX,因此我只能使用192.168.99.100:3000访问我的应用程序来自docker机器的默认IP。 如何将docker-machine 3000端口转发到主机80端口? 问题答案: 目前,Docker Machine是在您计算机中VirtualBox下运行的虚拟机,因此要

  • 问题内容: 我设置了一个容器来运行elasticsearch。服务启动,但是我无法通过curl或浏览器连接到该服务。 连接到没有任何效果。docker ps显示端口; 我是否缺少一些配置值?谢谢! [更新]我也在运行命令中尝试了-p 问题答案: 我测试了您的Dockerfile,但是它可以正常工作。 我尝试构建此Dockerfile并运行它。 如下所示,请求返回json响应。 检查您的选项。这意味

  • 我在远程VPS上的docker-compose网络中运行容器。我希望能够从我的本地主机访问在这些容器中运行的数据库。 例如,如果容器和位于VPS上的容器网络中,我希望从计算机的访问。Kubernetes的CLI允许使用。 编辑:我已经接受了Ali Tou的回答,但是,如果能看到一个不需要重新启动容器来重新配置其端口以将它们暴露到主机上的解决方案,那就太好了。 编辑2:我在一篇相关的文章https:

  • 我遇到的问题是,我无法在我希望看到的端口上看到应用程序。我正在公开端口8080并在8080上运行uwsgi进程,但在浏览器中找不到ip地址的应用程序。我只是得到谷歌Chrome的‘此网页不可用’。(我使用的是Mac,所以我需要获得boot2docker的ip地址)。容器显然正在运行,并报告我的uwsgi和celery进程也都成功运行。 运行时,得到的响应如下 ...因此容器似乎正在接受端口8080

  • 问题内容: 我通常会看到将Docker容器的端口暴露给主机的解决方案。 就我而言,我想将本地端口从一个容器转发到另一个。假设我在具有 硬编码配置的 容器A 上运行服务, 以访问localhost 3306上的db 。但是我想在 容器B 上运行数据库服务器。 从A-localhost:3306到B-IP:3306的 端口转发的最佳方法是什么? 问题答案: 在您的容器中安装并在启动运行时安装 这将在您