컨테이너 내부에서 호스트를 호출해야 할 경우
예를 들어 Host에 telegraf로 statsd 서버가 떠 있는 상태에서 컨테이너 내부의 Metric를 Host로 보낼때
호스트의 IP를 알기는 어렵고 이럴때 많이 사용하는게 host.docker.internal 이다.
하지만 해당 도메인은 Mac 또는 Windows(확실하지는 않음)에서만 가능하다.
Linux에서 사용하기 위해서는 –add-host 로 실행시 옵션을 주어야 한다.
docker run -it --add-host=host.docker.internal:host-gateway ubuntu:20.04 bash
docker-compose.yml 에서는 아래 처럼 설정하면 된다.
version: "3.8"
services:
ubuntu:
image: ubuntu:20.04
container_name: ubuntu
extra_hosts:
- "host.docker.internal:host-gateway"