プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2022/06/17

[Docker] コンテナ内からホストにアクセスする

event_note2022/06/17 6:18

コンテナ内では localhost はコンテナ自身を指すので使えません。
かといってホストの IP アドレスを直接参照すると、IP アドレスが変わったときに困ります。

このような場合、host.docker.internal を使います。

host.docker.internal はもともと Windows と Mac でしか使えなかったようですが、Docker 20.10 からLinux でも使えるようになったそうです。
この機能を有効化するには --add-hosthost.docker.internal:host-gateway を指定する必要があるようです。

$ docker run -it --rm \
         --add-host=host.docker.internal:host-gateway \
         image_name

docker-compose の場合は extra_hosts で指定します。

services:
  app:
    extra_hosts:
      - "host.docker.internal:host-gateway"