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}