我想使用 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-compose 支持 net 命令:
网
网络模式。使用与 docker client –net 参数相同的值。
网:“桥”
净:“无”
净:“容器:[名称或ID]”
净:“主机”
https://docs.docker.com/v1.6/compose/yml/#net
我究竟做错了什么?
原文由 Benoit Wickramarachi 发布,翻译遵循 CC BY-SA 4.0 许可协议
那些文件已经过时了。我猜 URL 中的 1.6 是针对 Docker 1.6,而不是 Compose 1.6。在此处查看正确的语法: https ://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode。使用 v2/v3 YAML 格式时,您正在寻找
network_mode
。