[참고] 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의 주석 처리 후, 호스트와의 네트워크 통신이 올바르게 수행되길 바랍니다. 이 정보가 도움이 되었기를 바라며, 추가적인 문제가 발생하거나 궁금한 점이 있으시면 언제든지 질문해 주세요. 곧 지식공유자께서도 도움을 드릴 것입니다.
저는 질문자님의 이해를 돕고자 기존 답변을 참고하여 유사한 해결 방법을 안내 드리고 있습니다. 현재 베타 기능으로 답변이 완전하지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 질문이 있으시면 이어서 남겨주시면 감사하겠습니다.
클라우드플래어 배포 질문
0
6
1
26,27강 진행 간 노션, html 프롬프트 파일 불일치
0
8
1
canva 인증 관련 질문
0
12
1
fatal: repository 'https://github.com/gymcoding/my-marketplace.git/' not found
0
14
2
변수 설정 시에 질문입니다.
0
8
1
live server, korean 을 검색해도 아무것도 나오지 않음
0
13
1
퍼블릭시티를 ai agent 제미나이로 대채
0
20
2
섹션2-18
0
17
2
텔레그램 User Info 채널이 없어요.
0
19
0
커서질문
0
18
1
SUPABASE에서 AOI 선택여부
0
16
2
클로드 코드 터미널 사용시 git, git 허브 활용 법
0
22
1
최신 엔비디아 CUDA 아키텍처에서의 결정적 변경 사항
0
12
1
mcp.json파일 생성 X
0
19
2
강의 내용이 정신이없네요 ;;
0
42
2
안녕하세요 기획지망생으로 루키스님 UE5 기본으로 공부하고 있는 사람입니다. 질문있어서 Q&A 드립니다.
0
43
2
데이터구조1-번들,아이템, 변수에 제공되는 고객피드백 Tally양식
0
12
2
제 컴퓨터에서는 Claude's plan이 아래와 같이 나오는데 괜찮은 건가요?
0
23
2
5.3 강의에서 goal 설정하고 진행시 mia workspace에 저장이 안되는 이유가 궁금합니다.
0
18
2
안녕하세요~ 각 직원끼리 서로 대화를 주고 받게 하는방법도 강의에서 다루어지나요?
0
23
1
40강 Multi GPU 필요성 설명이 두번 나오는 것 같아요
0
52
2
There are no longer any instances available with the requested specifications. Please refresh and try again.
0
80
2
질문있는데요.. vLLM은 말씀하신 사양에 적용이되나요?
0
74
2
강의 영상 오류
0
95
1





