Table of contents

Docker

cluster_e3d8099f_d055_417e_b7b4_ead50cb8449a Docker _e29f3dda_d400_440a_b520_5029079d007f Update restart policy _2db8b9b7_4cd8_4055_93b1_3e81c89ec140 Limit bandwidth usage on existing Docker container _668bf415_a50e_4599_9eb4_e50a416153e2 Dive - Docker image exploration _668bf415_a50e_4599_9eb4_e50a416153e2->__0:cluster_e3d8099f_d055_417e_b7b4_ead50cb8449a _79c74c1c_2abb_4141_9965_1aed86eef8b9 Container _6d82b501_ab92_4404_8a71_2b55a90eb814 kubernetes _6d82b501_ab92_4404_8a71_2b55a90eb814->__1:cluster_e3d8099f_d055_417e_b7b4_ead50cb8449a _77994ec4_670a_4bdb_9f27_4e8de13ac252 Container security _77994ec4_670a_4bdb_9f27_4e8de13ac252->_79c74c1c_2abb_4141_9965_1aed86eef8b9 _77994ec4_670a_4bdb_9f27_4e8de13ac252->__2:cluster_e3d8099f_d055_417e_b7b4_ead50cb8449a _72d23d5a_be4c_42af_a73e_a1c86febd08b 📰 Building a Firecracker-Powered Course Platform To Learn Docker and Kubernetes _72d23d5a_be4c_42af_a73e_a1c86febd08b->_6d82b501_ab92_4404_8a71_2b55a90eb814 _72d23d5a_be4c_42af_a73e_a1c86febd08b->__3:cluster_e3d8099f_d055_417e_b7b4_ead50cb8449a __4:cluster_e3d8099f_d055_417e_b7b4_ead50cb8449a->_79c74c1c_2abb_4141_9965_1aed86eef8b9

Update restart policy

docker update --restart=always <container>

Limit bandwidth usage on existing Docker container

# Get the container's PID
PID=$(docker inspect --format '{{.State.Pid}}' throttled-app)

# Find the interface index inside the container's network namespace
IFINDEX=$(nsenter -t $PID -n ip link show eth0 | head -1 | awk -F: '{print $1}')

# Find the matching veth interface on the host
VETH=$(ip link | grep "if${IFINDEX}:" | awk -F: '{print $2}' | tr -d ' '|cut -d'@' -f1)
echo "Host veth interface: $VETH"

  • Add limit

sudo tc qdisc add dev $VETH root tbf \
  rate 50mbit burst 100mbit latency 100ms

  • Check limits

sudo tc qdisc

  • Remove limit

    this is required to update the limit

sudo tc qdisc del dev $VETH root tbf \
  rate 50mbit burst 100mbit latency 100ms