Docker for Mac主机networking访问

我正在运行mac build的最新docker,并且有许多基于docker-compose的应用程序正在运行 – 所有接受的都是从本地networking调用的。

我现在试图实现一个需要networking访问的node.js应用程序来扫描主机的networking以及响应端口5005。

任何人都可以给我看一个docker-compose.yml文件,这将允许以下networking:

本地networking:192.168.123 / 24路由器192.168.123.1

适用于Mac的Docker在我的Macbook上以192.168.123.118运行

我的networking内部http://192.168.123.118:5005应该对容器的节点请求作出响应。

容器需要扫描本地networking来寻找服务。

我尝试了一个或两个接口的默认,网桥和主机networking的组合,只是感到困惑。

一个容器能否真正成为主机networking的一部分?

我似乎记得,当在virtualbox上运行docker时,这是可以实现的。

我试图configuration的实际代码是https://github.com/jishi/node-sonos-http-api我不认为有代码的问题,只是我想创build的环境。

我试图运行的项目是Sonos控制器应用程序:

这里是我的Dockerfile和docker-compose.yml文件以及构buildSonos控制器应用程序的命令

mkdir sonos cd sonos git clone https://github.com/jishi/node-sonos-http-api sonos 

泊坞窗,compse.yml

 version: '2' services: sonos: build: sonos network_mode: host 

SONOS / Dockerfile

 FROM node:4-onbuild EXPOSE 5005 

在此之后,我可以启动控制器:

 docker-compose stop; docker-compose-build; docker-compose up; 

输出是:

 Recreating sonos_sonos_1 Attaching to sonos_sonos_1 sonos_1 | npm info it worked if it ends with ok sonos_1 | npm info using npm@2.15.11 sonos_1 | npm info using node@v4.6.2 sonos_1 | npm info prestart sonos-http-api@1.1.7 sonos_1 | npm info start sonos-http-api@1.1.7 sonos_1 | sonos_1 | > sonos-http-api@1.1.7 start /usr/src/app sonos_1 | > node server.js sonos_1 | sonos_1 | 2016-11-13T11:19:52.476Z INFO Presets loaded: { example: sonos_1 | { players: sonos_1 | [ { roomName: 'Bathroom', volume: 10 }, sonos_1 | { roomName: 'Kitchen', volume: 10 }, sonos_1 | { roomName: 'Office', volume: 10 }, sonos_1 | { roomName: 'Bedroom', volume: 10 }, sonos_1 | { roomName: 'TV Room', volume: 15 } ], sonos_1 | playMode: { shuffle: true, repeat: 'all', crossfade: false }, sonos_1 | pauseOthers: false, sonos_1 | favorite: 'My example favorite' } } sonos_1 | 2016-11-13T11:19:52.497Z INFO http server listening on port 5005 sonos_1 | 2016-11-13T11:20:18.478Z ERROR No system has yet been discovered. Please see https://github.com/jishi/node-sonos-http-api/issues/77 if it doesn't resolve itself in a few seconds. 

最后一行是响应这个请求: http:// localhost:5005 / zones

我觉得在主机模式下运行的sonos容器无法看到我的本地networking,以便发现我的Sonos扬声器。