[참고] Cannot connect to host host.docker.internal:8080

영상과 같이 잘 설정했음에도 불구하고, 저와 같은 문제가 생기시는 분들은 참고해 주세요.
원인은 Windows Docker Desktop 환경에서 자동으로 처리되어야 할 host.docker.internal을 extra_hosts: host.docker.internal:host-gateway로 강제로 덮어쓴 것입니다. 그 결과 OpenWebUI 컨테이너가 Windows 호스트의 FastAPI 8080 서버가 아니라 172.17.0.1:8080으로 접속했고, 해당 위치에는 요청을 받을 서버가 없어 Connection refused가 발생했습니다.
에러 로그:
Cannot connect to host host.docker.internal:8080
Connect call failed ('172.17.0.1', 8080)OpenWebUI는 host.docker.internal:8080에 접속하려 했는데, 컨테이너 내부에서 그 IP를 172.17.0.1로 해석됐고, 결국 172.17.0.1:8080으로 접속하다가 실패했습니다.
문제의 원인은 `docker-compose.yaml 에 있었습니다.
extra_hosts:
- "host.docker.internal:host-gateway"extra_hosts는 컨테이너 내부의 /etc/hosts에 hostname/IP 매핑을 추가하는 Compose 설정입니다. Docker Compose 문서에서도 extra_hosts는 컨테이너의 hosts 파일에 hostname 매핑을 추가하는 기능이라고 설명합니다. [참고]
실제로 도커 데몬 내부에 /etc/hosts 를 보면 아래와 같은 결과를 볼 수 있습니다.

해결 방안은 아래와 같이 extra_hosts 설정을 주석 처리하시면 됩니다.

답변 2
0
안녕하세요 logt님!
오 좋은 글 남겨주셔서 너무 감사드립니다.
윈도우에서는 제가 안올려봐서 저런 이슈가 있는지 몰랐네요. 해당 챕터 부분에 조만간 업데이트 해놓겠습니다.
감사합니다 👍
0
안녕하세요, 인프런 AI 인턴입니다. logt님께서 겪으신 문제를 바탕으로 해결 방법을 안내드리겠습니다.
문제 설명: Docker 환경에서 host.docker.internal을 통해 Windows 호스트의 FastAPI 서버에 연결하려고 할 때, extra_hosts 설정으로 인해 컨테이너가 잘못된 IP 주소로 연결을 시도하여 Connection refused 에러가 발생했습니다.
원인: docker-compose.yaml 파일의 extra_hosts 설정으로 인해 host.docker.internal이 172.17.0.1로 매핑된 것이 문제의 원인이었습니다. 이로 인해, 컨테이너 내부에서 호스트를 잘못된 IP로 인식하게 됩니다.
해결 방법:
1. docker-compose.yaml 파일에서 extra_hosts 설정을 주석 처리합니다. 이를 통해 Docker의 기본 동작을 따르게 하면, host.docker.internal이 Windows Docker Desktop에서 자동으로 호스트를 올바르게 매핑하게 됩니다.
- 이후 컨테이너를 재시작 하십시오. 변경 사항이 반영되려면 컨테이너를 다시 실행해야 합니다.
# docker-compose.yaml 예시
version: '3'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: always
ports:
- "8080:8080"
# extra_hosts:
# - "host.docker.internal:host-gateway"
(이미지: Docs for Networking)
위와 같은 설정으로 extra_hosts의 주석 처리 후, 호스트와의 네트워크 통신이 올바르게 수행되길 바랍니다. 이 정보가 도움이 되었기를 바라며, 추가적인 문제가 발생하거나 궁금한 점이 있으시면 언제든지 질문해 주세요. 곧 지식공유자께서도 도움을 드릴 것입니다.
저는 질문자님의 이해를 돕고자 기존 답변을 참고하여 유사한 해결 방법을 안내 드리고 있습니다. 현재 베타 기능으로 답변이 완전하지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 질문이 있으시면 이어서 남겨주시면 감사하겠습니다.
6:13 부근에서 끝나버립니다 그 다음 진행부터는 다음 진행창이 나오지 않아요
1
7
4
/output-style 명령어는 폐기 되었다고 나오네요.
0
6
1
node.js 설치 (LTS버전)
0
3
0
프롬프트 작성시 html, css, javascript
0
5
1
수박게임 자료 받았는데 plante05, 06이 없습니다.
0
8
1
Cursor & Antigravity 소개 및 설치
0
6
1
강의영상 버퍼링
0
8
3
hermess agent 어떤것을 사용해야 하는지?
0
6
1
hermess agent 어떤것을 사용해야 하는지?
0
7
1
수강생 전용관 링크 부탁해요
0
6
1
별도로 llama3.2-3b-64k 모델을 만드신 이유가 궁금합니다.
0
8
0
강의 자료 및 코드 수령
0
12
2
Cursor 창이 수업 내용과 달라요.
0
10
2
Supabase MCP 관련 질문입니다
0
8
1
강의자료와 md파일 문의
0
10
1
VPS 환경에서 webhook 구성시 차이점.
0
17
2
speckit이나 kiro에 비해 어떤 점이 차이가 있는지
0
13
1
54강 양자화의 끝판왕, 터보퀀트 (예정) 강의 업로드
0
7
1
블로그에 학습 내용 올려도 되나요?
0
17
1
runpod 사용방법이 궁금합니다..
0
60
1
40강 Multi GPU 필요성 설명이 두번 나오는 것 같아요
0
80
2
There are no longer any instances available with the requested specifications. Please refresh and try again.
0
131
2
질문있는데요.. vLLM은 말씀하신 사양에 적용이되나요?
0
103
2
강의 영상 오류
0
109
1





