V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Tdy95
V2EX  ›  程序员

部署 window10 docker 网络延迟波动超级大[有偿]

  •  
  •   Tdy95 ·
    mydaoyuan · 2 天前 · 1099 次点击

    不堪 docker 折磨,如能帮忙远程解决愿意支付 500 元 酬劳

    环境

    网络环境:内网环境,分配了固定 IP ,可访问外网。IP: 20.32.81.66 网关:20.32.81.254 DNS:20.32.81.254

    部署环境:window 10 PC ,使用 docker 最新版部署。服务都是内网调用本地 localhost 的

    网络拓扑图

                   外网
                    |
                主交换机
                    |
      +-------------+-------------+
      |             |             |
    其它服务       其它服务        交换机
      |             |             |
      |             |       +-----+-----+
      |             |       |           |
      |             |     另外服务        PC
    

    现象

    发现网络波动和容器相关,偶尔某个容器的网络延迟特别大,我部署了一个 Python 的基础 get 接口,正常请求是 2-5ms ,但是某天就会 3000ms 的延迟出现。

    wsl2 配置:

    [wsl2]
    memory=24GB
    processors=8
    swap=8GB
    localhostForwarding=true
    
    # 网络优化参数
    kernelCommandLine=net.ipv4.tcp_keepalive_time=20 net.ipv4.tcp_keepalive_intvl=10 net.ipv4.tcp_keepalive_probes=5 net.core.somaxconn=65535 net.ipv4.tcp_max_syn_backlog=16384 net.ipv4.tcp_fin_timeout=15 net.ipv4.tcp_tw_reuse=1 net.core.netdev_max_backlog=16384 net.ipv4.ip_local_port_range=1024 65535 net.ipv4.tcp_rmem=4096 12582912 16777216 net.ipv4.tcp_wmem=4096 12582912 16777216 net.ipv4.tcp_mtu_probing=1
    
    guiApplications=true
    # 移除嵌套虚拟化设置
    swapFile=D:\\wsl-swap.vhdx
    # 移除不支持的选项
    networkingMode=NAT
    
    

    docker 配置:

    {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "dns": [
        "20.32.81.254"
      ],
      "experimental": false,
      "log-driver": "json-file",
      "mtu": 1500,
      "registry-mirrors": [
        "https://dockerpull.cn"
      ]
    }
    
    第 1 条附言  ·  2 天前
    我的绿泡泡: d29zaGl0ZHkxMjM0NTY= 周末可以进行远程调试
    15 条回复    2025-03-08 14:44:19 +08:00
    flyqie
        1
    flyqie  
       2 天前 via Android
    这种场景不建议用 wsl2

    你用 hyperv 直接开 vm 或者换 vmware/vbox 不好吗?
    flyqie
        2
    flyqie  
       2 天前 via Android
    @flyqie #1

    没记错的话 wsl2 实现上有蛮多问题的?
    Kinnice
        3
    Kinnice  
       2 天前
    调用使用 ip
    Tdy95
        4
    Tdy95  
    OP
       2 天前
    @flyqie #2 好的我去了解一下看看,docker 负载还使用了 srs 有一路流媒体,其余容器服务大概有 10 个左右。
    Tdy95
        5
    Tdy95  
    OP
       2 天前
    @Kinnice 使用了宿主机 IP 去访问,20.32.81.66 也出现了网络波动的情况 T T
    billbob
        6
    billbob  
       2 天前
    wsl 网络设置 mirrored wsl 的根据自己的情况配置>

    windows 删除那些 视频软件 .

    将 windows 更新调到夜晚执行

    windows 影响网络因素太多了.

    还有看看机子上的软件有没有占网,以及一些软件装驱动
    billbob
        7
    billbob  
       2 天前
    还有你 wsl ubuntu 里面配置.
    lait123
        8
    lait123  
       2 天前
    是不是路由器开了 ipv6? 把 ipv6 关了试试....我之前遇到过 ipv6 的问题 我本机访问 docker 接口经常 5000ms 或者 10000ms. 访问以后第二次会恢复毫秒级 过一段时间重新访问第一次又会 5000ms.
    laminux29
        9
    laminux29  
       2 天前
    给专业人士的建议:

    docker 原生于 Linux 平台,别用 Windows 去跑 docker 。

    想玩 Linux ,请用物理机直接安装 Linux ,别用 Windows 的 WSL 、WSL 2 这些不伦不类的玩意。

    虚拟化,也别用什么 Hyper-V 玩具,请用 VMware ESXi 、PVE 、KVM 这类专业软件。

    不然你会遇到一大堆乱七八糟的问题,去搜索还不一定有结果。
    wnpllrzodiac
        10
    wnpllrzodiac  
       2 天前 via Android
    上 11 试试,11 对 wsl 有更新。wsl2 应该不算太差了。接近原生了
    yuan1028
        11
    yuan1028  
       2 天前
    可以看看波动的时候有没有很高的 IO
    Knights
        12
    Knights  
       2 天前
    win10 装 Docker-desktop 配合 wsl2
    yinmin
        13
    yinmin  
       2 天前
    要稳定,推荐 hyper-v+debian/ubuntu+docker ce ,这种架构是可以稳定跑生产的。另外,hyper-v 跑 linux 的性能还是蛮好的,除了比竞品少点 gpu 、usb 外设等支持。
    flyqie
        14
    flyqie  
       2 天前 via Android
    @laminux29 #9

    hyperv 跑 linux 虽然没那么有优势但也不是玩具。
    hwdq0012
        15
    hwdq0012  
       1 天前
    win11 + wsl + docker, 然后设置 docker 用桥接网络是不是会好点,单独一个物理网卡给 wsl 用, docker 运行在 wsl 里

    https://nocanstillbb.github.io/post/wsl2 设置网络桥接到物理网卡/

    win11 和 win10 都能设置桥接网络,不过 win10 好像比较不好使,可以试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:16 · PVG 10:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.