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