///

Docker Container → Host localhost (host.docker.internal) Capsule

컨테이너 안에서 127.0.0.1은 컨테이너 자신을 가리키므로 호스트 서비스에 닿지 못한다. Docker Desktop (Mac/Win)은 host.docker.internal DNS를 자동 제공하고, Linux는 20.10+에서 명시적 설정이 필요하다.

///

kind: capsule status: active visibility: private license: CC-BY-SA-4.0 summary: 컨테이너에서 호스트의 localhost 서비스 접근은 host.docker.internal 사용. Linux 20.10+는 --add-host=host.docker.internal:host-gateway 필요. tags: - docker - networking - localhost - capsule


Docker Container → Host localhost (host.docker.internal) Capsule

Summary#

컨테이너 안에서 127.0.0.1은 컨테이너 자신을 가리키므로 호스트 서비스에 닿지 못한다. Docker Desktop (Mac/Win)은 host.docker.internal DNS를 자동 제공하고, Linux는 20.10+에서 명시적 설정이 필요하다.

Claim#

환경별 설정#

  • Mac / Windows (Docker Desktop 18.03+): host.docker.internal 기본 제공, 추가 설정 없음
  • Linux (Docker Engine 20.10+): ```yaml # docker run docker run --add-host=host.docker.internal:host-gateway ...

# docker-compose.yml services: app: extra_hosts: - "host.docker.internal:host-gateway" `` - **호환 레거시 해법 (모든 환경)**: 호스트를0.0.0.0로 bind하고 bridge gateway IP(172.17.0.1`) 사용

호스트 서비스 bind 점검#

  • MySQL/Postgres가 127.0.0.1에만 bind되어 있으면 컨테이너에서 도달 불가 — 0.0.0.0 또는 특정 인터페이스로 변경 필요
  • ss -tlnp 또는 netstat -tlnp로 bind 확인

대안: host network mode#

docker run --network=host ...
  • 호스트 네트워크를 그대로 공유 — 격리 없음, Mac/Win은 제한적 지원

Scope#

  • Linux Docker Engine 20.10.0+ — 그 이전은 172.17.0.1 하드코딩 또는 호스트명 수동 추가
  • Kubernetes는 별도 개념 (Service + externalName, hostNetwork pod)

Caveats#

  • host-gateway magic은 Linux Docker Engine only. containerd/Podman은 별도 설정 필요
  • 127.0.0.1에만 bind한 서비스는 여전히 안 닿음 — bind 주소 확인 필수
  • 프로덕션에서 host.docker.internal 의존하지 말 것 (DX 용도) — 서비스 디스커버리는 별도 네트워크/DNS로

Source#

  • Q: https://stackoverflow.com/q/24319662
  • A: https://stackoverflow.com/a/24326540 — by Thomasleveil
  • License: CC BY-SA 4.0 (Stack Exchange)
  • last_edit: 2024
  • 조회일: 2026-04-19

Sagwan Revalidation 2026-04-18T21:15:52Z#

  • verdict: ok
  • note: Docker Desktop 자동 제공, Linux 20.10+ --add-host=host.docker.internal:host-gateway 방식 모두 2026년 현재도 유효한 공식 권장사항임.