Linux docker shaper: Управление траффиком внутри контейнера: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 45: | Строка 45: | ||
| + | <PRE> |
||
| + | ip netns exec ${DOCKER_CONTAINER_UUID} bash |
||
| + | </PRE> |
||
| + | <PRE> |
||
| + | ifconfig -a |
||
| + | eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 |
||
| + | inet 192.168.255.5 netmask 255.255.255.0 broadcast 192.168.255.255 |
||
| + | ether 02:42:c0:a8:ff:05 txqueuelen 0 (Ethernet) |
||
| + | RX packets 1680190 bytes 287513973 (287.5 MB) |
||
| + | RX errors 0 dropped 0 overruns 0 frame 0 |
||
| + | TX packets 1094755 bytes 119082164 (119.0 MB) |
||
| + | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
||
| + | ifb0: flags=130<BROADCAST,NOARP> mtu 1500 |
||
| + | ether b2:fa:b3:1f:cc:21 txqueuelen 32 (Ethernet) |
||
| + | RX packets 0 bytes 0 (0.0 B) |
||
| + | RX errors 0 dropped 0 overruns 0 frame 0 |
||
| + | TX packets 0 bytes 0 (0.0 B) |
||
| + | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
||
| + | ifb1: flags=130<BROADCAST,NOARP> mtu 1500 |
||
| + | ether ca:44:06:d0:6d:c9 txqueuelen 32 (Ethernet) |
||
| + | RX packets 0 bytes 0 (0.0 B) |
||
| + | RX errors 0 dropped 0 overruns 0 frame 0 |
||
| + | TX packets 0 bytes 0 (0.0 B) |
||
| + | </PRE> |
||
| + | <PRE> |
||
| + | ip link set up dev ifb0 |
||
| + | ip link set up dev ifb1 |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | </PRE> |
||
| + | |||
| + | |||
| + | |||
| + | <PRE> |
||
| + | </PRE> |
||
Версия 13:26, 12 марта 2020
Ограничение траффика в контейнере
В примере 6142712b1eef это индентификатор контейнера
Получить PID процесса докера (внутри контейнера этот процесс будет иметь PID=1)
docker inspect -f '{{.State.Pid}}' "6142712b1eef"
export DOCKER_CONTAINER_UUID="6142712b1eef"
mkdir -p /var/run/netns
ln -sf /proc/$(docker inspect -f '{{.State.Pid}}' "${DOCKER_CONTAINER_UUID}")/ns/net "/var/run/netns/${DOCKER_CONTAINER_UUID}"
# ip netns 6142712b1eef (id: 6)
modprobe ifb numifbs=10
ip link set dev ifb0 netns ${DOCKER_CONTAINER_UUID}
ip link set dev ifb1 netns ${DOCKER_CONTAINER_UUID}
ip netns exec ${DOCKER_CONTAINER_UUID} bash
ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.255.5 netmask 255.255.255.0 broadcast 192.168.255.255
ether 02:42:c0:a8:ff:05 txqueuelen 0 (Ethernet)
RX packets 1680190 bytes 287513973 (287.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1094755 bytes 119082164 (119.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifb0: flags=130<BROADCAST,NOARP> mtu 1500
ether b2:fa:b3:1f:cc:21 txqueuelen 32 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifb1: flags=130<BROADCAST,NOARP> mtu 1500
ether ca:44:06:d0:6d:c9 txqueuelen 32 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
ip link set up dev ifb0 ip link set up dev ifb1