2016-04-26 18 views
3

Dockerコンテナに帯域幅を調整しようとしています。 ダウンリンクの帯域幅を制限するために、まずコンテナのvethインターフェイスを見つけてtc:tc qdisc add dev vethpair1 root tbf rate 1mbit latency 50ms burst 10000を使用します。アップリンクの帯域幅を制限したい場合は、コンテナを回転させてコンテナ内のeth0で同じtcコマンドを使用するときに​​を指定する必要があります。特権を与えずにコンテナを管理できるように、非侵入的な方法がありますか?tcを使用してDockerコンテナの送信ネットワーク帯域幅を調整する

答えて

1

フードの下でLXCを使用するようにDockerに指示できます:-e lxcオプションを使用します。

Create your containers with a custom LXC directive to put them into a **traffic class** : 

`docker run --lxc-conf="lxc.cgroup.net_cls.classid = 0x00100001" your/image /bin/stuff` 

official documentationで、このクラスに帯域幅の制限を適用する方法を確認してください。

注:--storage-driver=devicemapper-e lxcオプションは、ドッカーデーモンため、ないdocker run .......を実行するときに使用しているドッカークライアントのためのものです。

また、あなたは、このを通じてこれを行うことができます:

mkdir /var/run/netns 
ln -sf /proc/`docker inspect -f '{{ .State.Pid }}' YOUR_CONTAINER`/ns/net /var/run/netns/SOME_NAME 
ip netns exec SOME_NAME iptables -L -nv 
+0

感謝を。 net_clsを試しましたが、うまくいきませんでした。私はLXCの抽象化を使用しなかったのでそれですか?私はLXCを後で試してみます。 –

関連する問題