You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Docker容器网络使用量的精确数值

解决方案

一、原生Docker命令方案(无额外软件,跨Linux/Windows)

Docker Stats支持通过自定义Go模板输出原始字节数,无需处理格式化后的字符串,精度完全满足千字节级要求,且跨平台通用。

操作步骤:

  1. 记录初始流量值
    执行命令获取容器当前的接收(Rx)和发送(Tx)原始字节数,保存到文件:

    docker stats --no-stream --format "{{.RxBytes}} {{.TxBytes}}" <容器ID/名称> > initial_stats.txt
    

    参数说明:--no-stream仅输出一次结果;{{.RxBytes}}/{{.TxBytes}}为模板字段,直接返回无单位的原始字节数。

  2. 等待指定时长
    Linux环境执行sleep 20,Windows环境执行timeout /t 20,等待20秒。

  3. 记录结束流量值
    再次执行相同命令获取结束时刻的流量数据:

    docker stats --no-stream --format "{{.RxBytes}} {{.TxBytes}}" <容器ID/名称> > final_stats.txt
    
  4. 计算流量差值

    • Linux下用Shell脚本计算:
      read rx_initial tx_initial < initial_stats.txt
      read rx_final tx_final < final_stats.txt
      total_rx=$((rx_final - rx_initial))
      total_tx=$((tx_final - tx_initial))
      total_bytes=$((total_rx + total_tx))
      total_KB=$((total_bytes / 1024))
      echo "总接收流量:$total_rx 字节 ($((total_rx/1024)) KB)"
      echo "总发送流量:$total_tx 字节 ($((total_tx/1024)) KB)"
      echo "总流量:$total_bytes 字节 ($total_KB KB)"
      
    • Windows下用批处理计算:
      set /p initial=<initial_stats.txt
      for /f "tokens=1,2" %%a in ("%initial%") do set rx_initial=%%a&set tx_initial=%%b
      timeout /t 20 >nul
      set /p final=<final_stats.txt
      for /f "tokens=1,2" %%a in ("%final%") do set rx_final=%%a&set tx_final=%%b
      set /a total_rx=rx_final - rx_initial
      set /a total_tx=tx_final - tx_initial
      set /a total_bytes=total_rx + total_tx
      set /a total_KB=total_bytes / 1024
      echo 总接收流量:%total_rx% 字节 (%total_rx%/1024 KB)
      echo 总发送流量:%total_tx% 字节 (%total_tx%/1024 KB)
      echo 总流量:%total_bytes% 字节 (%total_KB% KB)
      

二、关于重置累计统计值的说明

Docker没有官方命令可直接重置容器的网络累计统计数据,因为这些统计由容器运行时(containerd/runc)维护,属于内核级累计值。若强行重置,只能通过重启容器实现,但会中断业务,不建议采用。

三、备选方案(需额外软件)

如果原生方案无法满足特殊需求,可考虑:

  • Linux环境:使用iptables针对容器的虚拟网卡或IP添加流量统计规则,通过查看规则的字节计数计算差值。
  • 跨平台:使用tshark抓包,指定容器的网络接口或IP,统计指定时间段内的数据包总字节数,但需预先安装Wireshark工具包。

内容的提问来源于stack exchange,提问作者Timothy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:45:34