Docker compose,在 net:host 中运行容器

新手上路,请多包涵

我想使用 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 许可协议

阅读 1k
2 个回答

那些文件已经过时了。我猜 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

原文由 Andy Shinn 发布,翻译遵循 CC BY-SA 4.0 许可协议

只需打印

network_mode: "host"

原文由 Andrey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏