概要
Dockerのコンテナの中からホスト(macOS)に接続したい場合、 host.docker.internal
を使えばアクセスできます。
DNS name
host.docker.internal
should be used for host resolution from containers. Older aliases (still valid) are deprecated in favor of this one. (See https://tools.ietf.org/html/draft-west-let-localhost-be-localhost-06).
動作確認
$ docker run -d -p 80:80 --name webserver nginx # nginxのサーバを立ち上げる
$ wget -O - http://localhost # localhostでつながる
$ docker run -it alpine sh # 適当なコンテナ立ち上げて中に入る
以下コンテナ内で実行
# wget -O - http://localhost # localhostではつながらない
# wget -O - http://host.docker.internal # これでつながる