ux00ff

ビールとプログラミングと

Docker for Mac のコンテナの中からホストにつなぐ

結論

Guest to Host はけっこうみんな苦しんでいるらしい。

Docker for MacLinux VMが間に挟まっているので期待した感じに動かすのが大変。ホストというか Mac を発見できれば良いので、--add-host を指定して代替する。linkと大差ない使い心地になる。

具体的には

# 手元で en0 を普段使っているからこうしているが、
# プライベートIP調べて直接設定して良い
PRIVATE_IP=$(ifconfig en0 | grep "inet " | awk '{print $2}')

docker run --add-host CONTAINER_HOST:${PRIVATE_IP} myContainer 

こうすると、立ち上がったコンテナの中では CONTAINER_HOST って名前で指定したIPアドレスにルーティングされるようになる。これでローカルホストに立てたサービスにDockerコンテナ内からアクセスできるようになる。べんり。まあ外回るけど。大事なのはコンテナ内で決まった名前で解決できることだ。