首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进入码头集装箱

问进入码头集装箱
EN

Server Fault用户
提问于 2018-12-07 21:38:32
回答 2查看 39关注 0票数 0

例如,我有主机HM (Mac )。在HM内部,我安装了包含一个虚拟机(boot2docker) VM1 (主机接口上的192.168.99.1)的虚拟盒。

在VM1内部,我拥有带有地址172.17.0.1/16的docker的bridge0接口,我在172.17.0.2:80和172.17.0.3:80上运行了两个nginx容器

因此,如果我在VM1内部使用curl,并使用这些地址,我将得到预期的答案。假设对于172.17.0.2,它将是Hello, 1 nginx!和172.17.0.3 - Hello, 2 nginx!

因此,问题是,是否有可能从我的Mac主机访问这些nginx容器的不同地址?也许我能运行某种VPN?

目前,我只能公开VM1中的容器端口,并通过192.168.99.1地址从主机访问它们。

EN

回答 2

Server Fault用户

发布于 2018-12-07 22:33:28

现在我找到了一个简单的解决方案。

我在VM1为虚拟接口创建了一个别名。并在iptable中设置从外部ips到容器ips的路由。

票数 0
EN

Server Fault用户

发布于 2020-01-02 08:48:26

您还可以使用-p (--发布)停靠标志使用不同的端口公开。

例子:-p 81:80在172.17.0.2容器中,-p 82:80在172.17.0.3容器中。

此外,您还可以设置另一个nginx,以便在80个端口中侦听配置好的虚拟域,并代理/将请求转发给其他机器。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/943379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档