社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

Docker中的“主机”和“链接”网络组合

Oliver Hader • 4 年前 • 227 次点击  

场景是构建一个 watcher 能够监听给定网络流量的容器 docker-compose 服务组合除此之外,我必须有可能 观察者 直接将数据包发送到专用服务。

我发现了 host 联网 观察者 基本上就是我要找的(包括可能有太多的关于Docker引擎管理的所有网络设备的信息)为了将通信直接指向任何服务,它似乎需要使用 link 设置-与 主办 网络。

当前 docker-compose.yaml

(完整配置可在 https://github.com/ohader/docker-watcher-demo )

version: "3.7"

services:
  watcher:
    build:
      context: ./custom
    network_mode: host
    entrypoint: "tcpdump -i any"

  first:
    build:
      context: ./custom
    networks:
      default:
        ipv4_address: 172.25.0.11
    entrypoint: "sleep infinity"

  second:
    build:
      context: ./custom
    networks:
      default:
        ipv4_address: 172.25.0.22
    entrypoint: "ping first"

networks:
  default:
    ipam:
      driver: default
      config:
        - subnet: "172.25.0.0/16"

基本上 second 服务正在ping first 服务这个 观察者 可以通过使用 network_mode: host . 从例如。 ping first 不可能从内部 观察者 ,因此 观察者 正在使用例如。 ping 172.25.0.11 相反。

问题

  • 有没有更好的方法让“物理”访问发送到动态组合网桥的所有包 br-* 使用 tcpdump (目前通过使用 主办 网络连接)?
  • 有没有办法结合 主办 bridge 联网,例如使用不同的驱动程序,甚至自定义插件?我调查了司机 macvlan ipvlan (L2,实验功能打开 但无法监视所有组合服务的流量。

提前感谢任何反馈或提示。我用 overlay 对于我的场景来说,这感觉有点太多了(没有使用其中的大部分功能)。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49239
 
227 次点击