この投稿は、docker コンテナーのネットワーク名前空間にアクセスする方法を説明するためのものです。
1. アクセスする docker コンテナー ID を特定し、ホストの root として以下のコマンドを実行します。
# docker ps
2. Docker コンテナの PID を取得します:
# pid=$(docker inspect -f '{{.State.Pid}}' ${container_id})
3. netns ディレクトリを作成します:
# mkdir -p /var/run/netns/
4. 名前空間のソフトリンクを作成します:
# ln -sfT /proc/$pid/ns/net /var/run/netns/[container_id]
5. ip netns コマンドを実行して、この名前空間にアクセスします。例:
# ip netns exec [container_id] ip a