起動済みのdockerコンテナのネットワーク名前空間に入る方法
まず、あらかじめ入りたいコンテナのIDか名前を取得しておき、以下の様な手順で入れる。
pid=$(docker inspect <コンテナのIDか名前> --format '{{.State.Pid}}') sudo mkdir -p /var/run/netns sudo mount --bind /proc/${pid}/ns/net /var/run/netns/<名前(任意)> sudo ip netns exec <名前> bash
基本的にホストのソフトをそのまま使えるので、ipやping等をそのまま使えて便利。
ただし、自分でunmountし無い限り、docker上でコンテナを消しても名前空間が残り続けるので注意。
ちなみに、残っている場合は、
sudo ip netns list
とすると、自分で指定した名前が見えるはず。