小编Yan*_*rov的帖子

如何在docker-compose中将主机网络与默认网络结合

我正在构建包含两个容器的 docker-compose 服务。其中一个容器(node)旨在支持自动发现机制,并且需要成为主机 LAN 的一部分(因为我需要由 LAN 路由器而不是内置 docker 路由器处理多播 UDP 包)。

虽然 docker-compose.yml 中的“network_mode:host”完美地解决了这个问题,但我需要通过默认的docker -compose 网络(例如:http:/ /节点:37326)。如果 network_mode 设置为“host”,这似乎是不可能的。

我的 docker-compose.yml 目前看起来像这样:

version: '3.7'
services:
    qtcore:
        image: yansidorovtesseris/qtcore
        build: .
        container_name: qtcore
        depends_on:
            - node
        env_file: defaults.env
        ports:
            - "8000:8000"

    node:
        image: yansidorovtesseris/komodo
        container_name: node
        env_file: node.env
        ports:
            - "37326:37326"
            - "1900:1900"
        network_mode: host
        volumes:
            - $HOME/node_state:/komodo/.komodo/$AC_NAME
Run Code Online (Sandbox Code Playgroud)

我尝试使用 docker-compose 文档 ( https://docs.docker.com/compose/compose-file/#host-or-none ) 中的示例将主机网络连接为外部网络。考虑将主机和默认网络添加到服务中。

version: '3.7'
services:
    node:
        ...
        networks:
            hostnet: {}
        ...
networks:
    hostnet:
        external: true …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

6
推荐指数
1
解决办法
5577
查看次数

标签 统计

docker ×1

docker-compose ×1