如何从外部网络访问docker实例

时间:2018-04-10 09:23:28

标签: docker jenkins networking boot2docker

感谢您阅读该帖子。

我有一个windows7主机,我安装了boot2docker。 通过boot2docker,我创建了一个docker jenkins容器。

现在,在我的windows7机器上,我可以通过点击网址http://192.168.99.100:8080来访问jenkins页面 (这是因为:

  1. 我曝光(发布)了" Jenkins"的8080端口。到boot2docker的8080。
  2. boot2docker有一个ip 192.168.99.100

  3. Windows 7机器有192.168.99.1连接到boot2docker。)

  4. 我的Windows 7也在更大的公司网络上,并说它被分配了一个ip: 10.49.33.1。

    我的问题是:如何让jenkins在10.49.33.1/16网络上可以访问主机? (如果您能尽可能详细地提供说明,我将不胜感激。)

    感谢,

1 个答案:

答案 0 :(得分:0)

我找到了丢失的部分来解决我的问题。

现在我重新考虑一下,我面临的问题可以描述为如何在主机是Windows 7机器时创建一个只有主机的ip:端口可以访问外部。

现在解决了我的问题的是“windows内置端口转发”。

我需要在我的Windows 7主机的公共IP(在本例中为10.49.33.1)打开一个端口(无论未使用的端口,我将使用10411作为示例),然后将所有流量转发给主机 - 唯一的一面(在这种情况下是192.168.99.100:8080)。

1.启动cmd.exe 2.键入以下命令以执行端口转发。 netsh interface portproxy add v4tov4 listenport = 10411 listenaddress = 10.49.33.1 connectport = 8080 connectaddress = 192.168.99.100 3.完成。我可以在浏览器中键入10.49.33.1:10411并查看我的jenkins!

要删除端口转发,请使用以下命令: netsh interface portproxy delete v4tov4 listenport = 10411 listenaddress = 10.49.33.1