Docker compose, запуск контейнеров в сети: host


Я хочу создать 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'

Я использую boot2docker на windows.

Docker и Docker-compose version:

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

если я запускаю все службы вручную с помощью docker run --net = "host" все работает нормально.

в документации я прочитал, что net и поддерживается в docker-compose:

net

Режим сети. Используйте те же значения, что и параметр docker client --net.

net: "мост"

net:"нет"

net: "контейнер: [имя или идентификатор]"

net: "хост"

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

что я делаю не так?

3   51   2016-03-12 19:45:55

3 ответа:

эти документы устарели. Я предполагаю, что 1.6 в URL-адресе предназначен для Docker 1.6, а не для создания 1.6. Проверьте правильный синтаксис здесь:https://docs.docker.com/compose/compose-file/#net. Вы ищете network_mode при использовании формата V2 YAML.

просто печати

network_mode: "host"

удалите параметр конфигурации предупреждения для служб.приложение: "net", он может работать.