忘記是哪一天,忽然想檢查一下各別 Container 的流量用了多少,上網隨手找了一下,看到可以使用 ip-netns - process network namespace management 這個指令來查看不同 namespace 底下的流量。
具體方式如下:
取得 Container PID, 這邊我查看名為 wordpress_wordpress_1 的 container
λ ~/docker inspect -f '{{ .State.Pid }}' wordpress_wordpress_1
658建立連結至 /var/run/netns/ 供 ip netns 使用
λ ~/sudo ln -sf /proc/658/ns/net /var/run/netns/wordpress
利用 ip netns 接 iptables 流量就一目了然了!
λ ~/sudo ip netns exec wordpress iptables -L -nv
Chain INPUT (policy ACCEPT 639 packets, 106K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 610 packets, 882K bytes)
pkts bytes target prot opt in out source destination
Reference: Counting bandwidth from a Docker container