ショコラ
ドッカーコンテナの中からホストに通信するには?
「host.docker.internal」でアクセスする。
これができるのは、Windows と Mac のみ。Linux だと失敗してしまいます。
なので、host.docker.internal を host-gateway 定義する。
もっさん先輩
ドッカーコマンドで、host.docker.internal の指定のしかた
docker run --add-host=host.docker.internal:host-gateway
ドッカーコンポーズで、host.docker.internal の指定のしかた
services:
app:
image: busybox
extra_hosts:
- host.docker.internal:host-gateway
例
host.docker.internal を定義して ping をしてみます。
docker run --add-host=host.docker.internal:host-gateway --rm busybox ping host.docker.internal
$ docker run --add-host=host.docker.internal:host-gateway --rm busybox ping host.docker.internal
PING host.docker.internal (172.17.0.1): 56 data bytes
64 bytes from 172.17.0.1: seq=0 ttl=64 time=0.090 ms
シチュエーション
Linux の場合 host.docker.internal に ping をするとエラーになります。
docker run --rm busybox ping host.docker.internal
$ docker run --rm busybox ping host.docker.internal
ping: bad address 'host.docker.internal'