我Windows上的Docker:如何使用容器IP从主机连接到容器?
- 的Windows 10
- 泊坞的Windows V. 1.12.5版本9503,它不依赖于boot2docker或VirtualBox的了。
我公司拥有一批在泊坞窗图像运行JBoss实例(172.18.0.2是一个数据库):
- 实例1:名称:的jboss-EAP,IP:172.18.0.3
- 实例2:name:jboss-eap-arquillian,IP:172.18.0.4
它应该同时运行。每个JBoss实例导出例如其8787,8080和8443端口。
我还创建了一个桥接网络: 搬运工网络创建--subnet 172.18.0.0/24 bridged_network
目前,我已经建立了一个本地端口转发,这样的主机可以访问--driver桥使用前缀的各种服务(例如,当访问实例1的端口8080时,主机使用localhost:28080来连接)。但这很容易出错。
现在,我想使用容器的IP访问主机上的这些端口,例如,调用172.18.0.4:8080(下一步:使用主机名:jboss-eap-arquillian:8080)。 虽然这从容器到容器平稳运行,但我无法将其设置为从主机连接。
有Windows网络接口(类型:DockerNAT),IP为10.0.75.1,但可能我已经手动创建了它(不确定...已经尝试了很长一段时间了)。但是,当将容器的端口绑定到该设备时这是有用的,例如,码头运行... -p 10.0.75.1:8080:8080。然后我可以使用10.0.75.1:8080来调用该服务,但这对第二个容器无济于事。
我也试过使用Docker的主机网络设备,但那 a。似乎只适用于一台机器 b。我无法静态设置运行静态配置的JUnit测试所需的IP。 注意:我不能依赖网络DHCP在启动时分配IP,因为我频繁更换网络(并因此更改了DHCP),导致再次获得未固定的IP。
所以基本上我正在寻找一种方法来设置网络/容器的方式,我可以使用容器IP(例如172.18.0.3)调用容器提供的服务(例如在端口8080上)例如1)从主机使用172.18.0.3:8080。
你知道,这不是泊坞窗的方式和休息的便携性。你似乎想要一个虚拟机,为什么不使用虚拟机呢? – user2105103