docker コンテナ内でstatic routeを設定するときの覚え書き
docker run
のオプションに--cap-add=NET_ADMIN
付ける
※--privileged
は非推奨。。。
–cap_add=NET_ADMINをつけないでdockerコンテナにスタティックルート書く方法
- コンテナのプロセスid確認
docker inspect -f '{{.State.Pid}}' コンテナ名
- netnsのシンボリックリンク貼る
ln -s /proc/コンテナのPid/ns/net /var/run/netns/コンテナのPid
- スタティックルート書く
ip netns exec コンテナのPid ip route add 宛先NW via gw
#または
ip netns exec コンテナのPid bash
ip route add 宛先NW via gw
exit
- シンボリック消す]
unlink /var/run/netns/コンテナのPid
Pidを変数にしてシェル書いとくと楽かも。。。