Как заставить Network_Mode: "host" работать в файле docker-compose.yml - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь выполнить команду " docker-compose up ".Пожалуйста, найдите ниже мой docker-compose файл.Я попытался с network_mode: "host" , но это не работает.Я на ОС Linux.прошу вас сообщить мне, если я совершаю какую-либо ошибку.

version: '3.6'
services:
   mongo:
      image: "mongo:latest"
      container_name: ohif-mongo
       ports:
         - "27017:27017"

   viewer:
      image: ohif/viewer:latest
      container_name: ohif-viewer
      ports:
        - "3030:80"
      network_mode: "host"   # please make note of the alignment
      links:
         - mongo
      environment:
         - MONGO_URL=mongodb://mongo:27017/ohif
      extra_hosts:
         - "pacsIP:172.xx.xxx.xxx"
      volumes:
         - ./dockersupport-app.json:/app/app.json

после выполнения я получаю следующую ошибку

ERROR: for 8f4c3de7e3a3_ohif-viewer  Cannot create container for service viewer: conflicting options: host type networking can't be used with links. This would result in undefined behavior
 ERROR: for viewer  Cannot create container for service viewer: conflicting options: host type networking can't be used with links. This would result in undefined behavior

Я не знаю, почему отображается сообщение об ошибкедважды.Не уверен, ожидается ли это

Во-вторых, когда я меняю выравнивание network_mode: "host" (на 1/2 пробела)

  ports:
        - "3030:80"
        network_mode: "host"   # please see the change in alignment now
      links:
         - mongo

Я получаю следующее сообщение об ошибке

ERROR: yaml.parser.ParserError: while parsing a block mapping
 in "./docker-compose.yml", line 10, column 5
expected <block end>, but found '<block mapping start>'
 in "./docker-compose.yml", line 14, column 6

Как я могу запустить контейнер в режиме сети = хост?

1 Ответ

1 голос
/ 10 июня 2019

Из документов :

network_mode: "хост" нельзя смешивать со ссылками.

И о ссылках

Предупреждение. Флаг --link является устаревшей функцией Docker.Это может в конечном итоге быть удалено.Если вам абсолютно не нужно продолжать его использование, мы рекомендуем использовать пользовательские сети для облегчения связи между двумя контейнерами вместо использования --link.Одна функция, которую пользовательские сети не поддерживают, которую вы можете сделать с помощью --link, - это совместное использование переменных среды между контейнерами.Однако вы можете использовать другие механизмы, такие как тома, для более совместного управления переменными среды между контейнерами.

Просто удалите ссылки.Они больше не нужны.

...