首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Network_Mode:“主机”在docker-compose.yml文件中工作

如何使Network_Mode:“主机”在docker-compose.yml文件中工作
EN

Stack Overflow用户
提问于 2019-06-10 06:29:27
回答 2查看 77.9K关注 0票数 21

我正在尝试执行一个"docker-compose “命令。请在我的船坞-撰写文件下面找到。我尝试过使用network_mode:"host",但是它不起作用。我在Linux操作系统上。如果我犯了什么错,请告诉我。

代码语言:javascript
复制
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

执行后,我得到以下错误

代码语言:javascript
复制
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空格)

代码语言:javascript
复制
  ports:
        - "3030:80"
        network_mode: "host"   # please see the change in alignment now
      links:
         - mongo

我收到以下错误消息

代码语言:javascript
复制
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

如何以network=host模式启动容器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-26 16:22:32

network_mode: host用于与主机共享相同的网络空间。例如,您可以从容器访问运行在Linux上的应用程序。如果要将服务链接到一起,可以使用linksdepends_on,如果服务位于不同的主机上,只需创建覆盖网络即可。

票数 15
EN

Stack Overflow用户

发布于 2019-06-10 06:35:05

来自文档

network_mode:“主机”不能与链接混合。

还有关于链接

警告:链接标志是Docker的遗留特性.它最终可能会被移除。除非您绝对需要继续使用它,否则我们建议您使用用户定义的网络来促进两个容器之间的通信,而不是使用--链接。用户定义的网络不支持您可以使用的一个特性--链接是在容器之间共享环境变量。但是,您可以使用其他机制(例如卷)在容器之间以更受控制的方式共享环境变量。

只要删除链接。它们不再是必需的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56521484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档