【问题标题】:Docker-Compose - Give a container an IP on the hosts network and also allow container to container connections and host net connectionsDocker-Compose - 在主机网络上给容器一个 IP,并允许容器到容器的连接和主机网络连接
【发布时间】:2021-06-07 05:02:52
【问题描述】:

我有几个容器在 docker-compose 控制的堆栈中运行。 其中有一个正在运行的 node-red。

node-red 容器需要能够在网络中搜索主机网络 (192.168.1.0/24) 上的设备。

使用默认网络,容器可以在知道 IP 时 ping 并连接到主机网络,不幸的是 node-red 实现只扫描本地网络,并且它只有 docker bridge 网络(172...)所以它只在那里搜索。

我尝试了多种 docker 网络设置组合,试图让容器将 192 网络视为本地网络。当我能够获得 192 网络地址时,容器无法 ping 外部(主机)网络上的其他主机。

TLDR:Docker 容器需要能够看到其他 Docker 容器,并且在 hosts 网络上也有一个 IP 地址,并且能够连接到 hosts 网络上的其他服务。

【问题讨论】:

    标签: docker networking docker-compose lan


    【解决方案1】:

    好的,我找到了适合我的解决方案:

    在 docker-compose.yml 中

    app:
      image: youimage
      network_mode: "host"
    

    我需要添加network_mode: "host"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 2020-06-14
      • 2016-06-06
      • 2019-06-15
      相关资源
      最近更新 更多