To check the network bandwidth of a Docker instance, you can use several methods depending on what specifics you want to monitor (e.g., overall network usage, per-container bandwidth, etc.). Here’s a step-by-step guide for different approaches:
1. Using Docker Stats Command
The docker stats
command provides real-time statistics for containers, including network I/O.
docker stats
This command shows information including network input and output for each running container. The NET I/O
column shows the amount of data received and sent by each container.
2. Using Docker Network Inspect
If you need detailed information about a specific network:
docker network inspect <network_name>
This will give you details about the network configuration and connected containers but does not directly show bandwidth usage.
3. Using Network Monitoring Tools
For more detailed bandwidth monitoring, you may need external tools:
-
iftop
ornload
: These tools can be installed on the host machine to monitor network traffic. You’ll need to look at traffic on the Docker network interfaces (e.g.,docker0
orbr-<network_id>
).
sudo iftop -ni docker0
or
sudo nload
- Prometheus & Grafana: For more comprehensive monitoring, you can set up Prometheus with a Docker exporter and visualize the metrics using Grafana. The Docker exporter can provide metrics on network usage.
4. Using cAdvisor
cAdvisor is a container monitoring tool that provides detailed metrics about Docker containers, including network usage.
- Install cAdvisor:
docker run -d \
--name=cadvisor \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
google/cadvisor:latest
-
Access the cAdvisor Web Interface: Visit
http://localhost:8080
to view metrics, including network statistics.
5. Custom Monitoring with Network Tools
You can use network traffic monitoring tools directly within containers to get more granular data:
-
Install
iperf
or similar tools within your containers and run tests to measure bandwidth.
docker exec -it <container_id> iperf -s
docker exec -it <container_id> iperf -c <server_ip>
Reference : https://docs.docker.com/reference/cli/docker/network/
Top comments (0)