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を変数にしてシェル書いとくと楽かも。。。