【技術的メモ】dockerコンテナにスタティックルート

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です