首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用docker-compose访问localhost和docker网络

使用docker-compose访问localhost和docker网络
EN

Stack Overflow用户
提问于 2019-07-04 15:09:20
回答 1查看 21.6K关注 0票数 7

我在一个docker-compose文件中运行了两个不同的服务。我通过引用容器的服务名称与每个服务通信。

现在我想让我的容器A也访问localhost。当我添加'network_mode=host‘的配置时,这会产生一个错误,声明容器A不能与容器B通信。

version: '2'

services:
  rocketchat:
    image: myimage
    environment:
      - MONGO_URL=mongodb://mongo:27017/dbname
    depends_on:
      - mongo
    ports:
      - 3000:3000
    network_mode: host

  mongo:
    image: mongo:3.2
    ports:
      - 27017:27017

对于每个组成文件,docker-compose都会创建一个网络,所以在这种情况下,我是否应该手动将容器分配给一个专用网络?或者,有没有办法同时访问这两个网络?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-04 16:09:13

尝试添加links

version: '2'

services:
  rocketchat:
    image: myimage
    environment:
      - MONGO_URL=mongodb://mongo:27017/dbname
    depends_on:
      - mongo
    ports:
      - 3000:3000
    links:
      - mongo
    #network_mode: host

  mongo:
    image: mongo:3.2
    ports:
      - 27017:27017

如果您使用这些链接,则不需要network_mode: host

编辑-其他解决方案:

version: '2'

services:
  rocketchat:
    image: myimage
    environment:
      - MONGO_URL=mongodb://localhost:27017/dbname
    depends_on:
      - mongo
    ports:
      - 3000:3000
    network_mode: host

  mongo:
    image: mongo:3.2
    ports:
      - 27017:27017
    network_mode: host
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56882395

复制
相关文章

相似问题

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