一尘不染

Docker撰写,在net:host中运行容器

docker

我想使用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参数相同的值。

净额:“ bridge”

净:“无”

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

净额:“主机”

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

我究竟做错了什么?


阅读 273

收藏
2020-06-17

共1个答案

一尘不染

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

2020-06-17