Docker组成,在net:host中运行容器

我想用docker-compose在“主机”networking中产生3个服务。 这是我的docker-compose.yml文件:

version: '2' services: mysql: image: mysql net: "host" nginx: image: nginx net: "host" app: image: tomcat net: "host" 

我得到了以下错误:

 $ docker-compose up [31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s): Unsupported config option for services.app: 'net' Unsupported config option for services.mysql: 'net' Unsupported config option for services.nginx: 'net' 

我在Windows上使用boot2docker。

Docker和Docker-compose版本:

 $ docker -v Docker version 1.10.2, build c3959b1 $ docker-compose -version docker-compose version 1.6.0, build cdb920a 

如果我通过使用docker run --net = "host"手动运行所有服务docker run --net = "host"一切正常工作。

在我读的文档中,docker-compose支持 net命令:

联网模式。 使用与docker客户端相同的值–net参数。

网:“桥”

净:“无”

净:“容器:[名称或ID]”

网:“主机”

https://docs.docker.com/v1.6/compose/yml/#net

我究竟做错了什么?

那些文件已经过时了。 我猜测1.6中的URL是Docker 1.6,而不是Compose 1.6。 看看这里的正确语法: https : //docs.docker.com/compose/compose-file/#net 。 使用v2 YAML格式时,您正在寻找network_mode

只是打印

network_mode:“主机”

删除services.app的warnconfiguration选项:'net',它可以工作。