我想使用docker-compose在“主机”网络中生成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 client –net参数相同的值。 净额:“ bridge” 净:“无” net:“容器:[名称或ID]” 净额:“主机”
净
联网模式。使用与docker client –net参数相同的值。
净额:“ bridge”
净:“无”
net:“容器:[名称或ID]”
净额:“主机”
https://docs.docker.com/v1.6/compose/yml/#net
我究竟做错了什么?
这些文件已经过时了。我猜URL中的1.6适用于Docker 1.6,而不是Compose 1.6。在此处检查正确的语法:https : //docs.docker.com/compose/compose- file/#network_mode。您network_mode在使用v2 YAML格式时正在寻找。
network_mode