docker networking - 无法发现任何可绑定的网络接口

时间:2015-06-06 20:57:59

标签: linux macos networking docker boot2docker

我正在尝试从docker容器中执行jar,该容器尝试启动服务并检测远程服务的IP和端口并尝试连接到它。但是一旦我这样做,我就会得到这个例外 -

Exception occured: org.teleal.cling.transport.spi.InitializationException: Could not discover any bindable network interfaces and/or addresses
org.teleal.cling.transport.spi.InitializationException: Could not discover any bindable network interfaces and/or addresses
    at org.teleal.cling.transport.impl.NetworkAddressFactoryImpl.<init>(NetworkAddressFactoryImpl.java:99)
    at org.teleal.cling.DefaultUpnpServiceConfiguration.createNetworkAddressFactory(DefaultUpnpServiceConfiguration.java:231)
    at org.teleal.cling.DefaultUpnpServiceConfiguration.createNetworkAddressFactory(DefaultUpnpServiceConfiguration.java:220)
    at org.teleal.cling.transport.RouterImpl.<init>(RouterImpl.java:93)
    at org.teleal.cling.UpnpServiceImpl.createRouter(UpnpServiceImpl.java:97)
    at org.teleal.cling.UpnpServiceImpl.<init>(UpnpServiceImpl.java:81)
    at org.teleal.cling.UpnpServiceImpl.<init>(UpnpServiceImpl.java:58)

我尝试使用--privileged标志运行容器,以便我可以获得所有可能的网络功能,但它仍然抛出相同的异常。

我在MAC OS X上运行boot2docker VM,我在这里运行这个docker容器。

在我的docker容器中执行ip addr时,我得到了这个 -

eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether abcd brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.90/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:5a/64 scope link 
       valid_lft forever preferred_lft forever

有人建议让这项服务启动并运行吗?我认为问题在于这里的docker网络,因为我能够在本机Linux VM上运行相同的服务。

1 个答案:

答案 0 :(得分:0)

我通过使用--net主机标志来实现这一点,该标志基本上表示我将用于主机的网络,在这种情况下,ip addr显示主机的机器网络eth0,eth1的信息。

docker run -it --net host <image name> /bin/bash