Linux docker shaper: Управление траффиком внутри контейнера: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
mkdir -p /var/run/netns |
mkdir -p /var/run/netns |
||
</PRE> |
</PRE> |
||
+ | |||
+ | <PRE> |
||
ln -sf /proc/$(docker inspect -f '{{.State.Pid}}' "${DOCKER_CONTAINER_UUID}")/ns/net "/var/run/netns/${DOCKER_CONTAINER_UUID}" |
ln -sf /proc/$(docker inspect -f '{{.State.Pid}}' "${DOCKER_CONTAINER_UUID}")/ns/net "/var/run/netns/${DOCKER_CONTAINER_UUID}" |
||
</PRE> |
</PRE> |
||
+ | <PRE> |
||
+ | # ip netns |
||
+ | 6142712b1eef (id: 6) |
||
+ | </PRE> |
||
Строка 29: | Строка 35: | ||
<PRE> |
<PRE> |
||
+ | modprobe ifb numifbs=10 |
||
+ | </PRE> |
||
+ | <PRE> |
||
+ | ip link set dev ifb0 netns ${DOCKER_CONTAINER_UUID} |
||
+ | ip link set dev ifb1 netns ${DOCKER_CONTAINER_UUID} |
||
</PRE> |
</PRE> |
||
− | |||
Версия 13:22, 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}