首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暴露一个带有network_mode:"host“的docker组成的容器,并将容器保持到容器网络

暴露一个带有network_mode:"host“的docker组成的容器,并将容器保持到容器网络
EN

Stack Overflow用户
提问于 2019-03-07 16:44:05
回答 1查看 1K关注 0票数 1

我对docker和docker组合相当陌生,所以如果这是一个愚蠢的问题,请原谅我……

我有一个包含2个容器的撰写文件。一个暴露了端口8123的homeassistant容器和一个带有5432的数据库。家庭助理可以使用url postgresql://user:password@db:5432/homeassistant_db来访问数据库。我认为这是因为docker已经在主机上创建了一个db绑定,这就是我可以连接到db的原因。

然而,我需要将homeassistant绑定到主机上,我可以使用network_mode: "host"来做这件事,你可以在我的配置中看到注释掉了。当我这样做时,我确实可以绑定到主机上,并且homeassistant可以发现网络设备等。

不幸的是,这会中断与数据库的连接,因此我不能再使用postgresql://user:password@db:5432/homeassistant_db url。

如何将homeassistant附加到主机上,并保持数据库连接正常?我想我可以将数据库主机从db更改为pi的url或网络名称(例如,postgresql://user:password@192.168.0.100:5432/homeassistant_dbpostgresql://user:password@homeassistant.local:5432/homeassistant_db),但这感觉并不像它应该的那样干净或健壮。

我真的不太了解网络绑定,所以我想尝试学习,这样我就可以在以后自己解决这个问题。

编写以下文件:

代码语言:javascript
复制
version: '3'

services:

  db:
    restart: always
    container_name: "homeassistant_db_container"
    # image: postgres:latest
    image: tobi312/rpi-postgresql
    ports:
      - "5432:5432"
    volumes:
      - ./data/postgres/data:/var/lib/postgresql/data/pgdata
    env_file:
      - ./envs/database.env

  home_assistant:
    container_name: "homeassistant_container"
    restart: always
    image: homeassistant/raspberrypi3-homeassistant
    ports:
      - "8123:8123"
    # network_mode: "host"
    env_file:
      - ./envs/homeassistant.env
    volumes:
      - ./configs/homeassistant:/config
    depends_on:
      - db


volumes:
  data:
    driver_opts:
      type: none
      o: bind
      device: "${PWD}/data/postgres"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-08 04:52:50

您可以将两个容器添加到同一个网络中,如下所示。然后你就可以随心所欲地使用了。只需将以下代码添加到您的编写文件中。然后,它将创建一个网络,并在其中添加这两个容器。这也会给你一个安全层,这样其他容器就不能和你的db容器对话了。

第二,删除container_name。你把自己搞糊涂了。默认情况下,服务的主机名与服务名相同。

代码语言:javascript
复制
networks:
  default:
    external:
      name: "tools"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55039443

复制
相关文章

相似问题

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