DockerコンテナからHostのlocalhostへ接続する

Dockerコンテナ内部からホストシステムのlocalhost上のサービスへ接続する方法。host.docker.internal

概要

Dockerコンテナ内部からHostへアクセスする方法について紹介する。

接続方法

Mac/Windows環境のDocker

MacやWindowsの場合、基本的にはDNS名 host.docker.internal により、コンテナ内部からHostへアクセスできる。

Linux環境のDocker

Linux用Dockerで host.docker.internal を使用するには、--add-host host.docker.internal:host-gateway を追加する必要がある。

例えば、次の通りである。

$ docker run \
  -it \
  --rm \
  --add-host=host.docker.internal:host-gateway \
  alpine \
  cat /etc/hosts

参考