如何将某些网络流量从具有内部网络的docker容器路由到主机局域网中的目标

如何将某些网络流量从具有内部网络的docker容器路由到主机局域网中的目标

我有一个 docker-compose 设置,如下所示:

version: "3"
services:
  client1:
    cap_add:
     - NET_ADMIN
    image: "client:testing"
    container_name: "client1"
    privileged: true
    tty: true
    networks:
      nwclient1: {}
    volumes:
     - ./../:/config
    command: ping server
  client2:
    cap_add:
     - NET_ADMIN
    image: "client:testing"
    container_name: "client2"
    privileged: true
    tty: true
    networks:
      nwclient2: {}
    volumes:
     - ./../:/config
    command: ping server
networks:
  nwclient1:
    internal: true
  nwclient2:
    internal: true

我希望这两个容器能够 ping 通服务器(可以从 docker 主机访问),但它们位于不同的子网中,以便它们之间无法通信。

我该如何实现?我route add在主机上尝试了一些命令,但无济于事。也许解决方案更简单,并集成到docker中。

提前致谢

答案1

解决方案很简单。我只需要删除“内部”选项。容器仍然彼此隔离,这是我没有想到的默认设置!

相关内容