Docker コンテナ内からホストのIPアドレスを知りたいことがあって調べていたのですが、 Qiita の記事 Docker コンテナ内からホストの IP アドレスを知る にたどり着きました(感謝)。
が、コンテナ側には、 ip コマンドも route コマンドもありません。 コンテナ側で iproute などのパッケージインストールしても良いのですが、なんかそれも面倒だなあと思いました。
記事を読むとどうも、Gateway の IP がホストのIPになるっぽいと思われます。
なんか無いかと思って調べてみたら、コンテナ側に何もインストールしなくても調べる方法がわかったので、ここにメモしておきます。
docker network list
でネットワークを確認
$ docker network list
NETWORK ID NAME DRIVER SCOPE
6c3def7568c1 docker-test_default bridge local
docker network inspect
から、 Gateway を抜き出す
$ docker network inspect docker-test_default | grep -i gateway
"Gateway": "172.28.0.1"
ここでは、172.28.0.1 がコンテナから見たホストのIPアドレスになります。