inflearn logo
강의

Course

Instructor

Understanding LLM Architecture and GPU Utilization Strategies for AI Beginners

FastAPI Backend

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

Resolved

7

logt

25 asked

0

image.png

영상과 같이 잘 설정했음에도 불구하고, 저와 같은 문제가 생기시는 분들은 참고해 주세요.

 

원인은 Windows Docker Desktop 환경에서 자동으로 처리되어야 할 host.docker.internalextra_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 를 보면 아래와 같은 결과를 볼 수 있습니다.

image.png

 

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

image.png

 

gpu attention-model 인공지능(ai) transformer llm

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. logt님께서 겪으신 문제를 바탕으로 해결 방법을 안내드리겠습니다.

문제 설명: Docker 환경에서 host.docker.internal을 통해 Windows 호스트의 FastAPI 서버에 연결하려고 할 때, extra_hosts 설정으로 인해 컨테이너가 잘못된 IP 주소로 연결을 시도하여 Connection refused 에러가 발생했습니다.

원인: docker-compose.yaml 파일의 extra_hosts 설정으로 인해 host.docker.internal172.17.0.1로 매핑된 것이 문제의 원인이었습니다. 이로 인해, 컨테이너 내부에서 호스트를 잘못된 IP로 인식하게 됩니다.

해결 방법:
1. docker-compose.yaml 파일에서 extra_hosts 설정을 주석 처리합니다. 이를 통해 Docker의 기본 동작을 따르게 하면, host.docker.internal이 Windows Docker Desktop에서 자동으로 호스트를 올바르게 매핑하게 됩니다.

  1. 이후 컨테이너를 재시작 하십시오. 변경 사항이 반영되려면 컨테이너를 다시 실행해야 합니다.
# 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의 주석 처리 후, 호스트와의 네트워크 통신이 올바르게 수행되길 바랍니다. 이 정보가 도움이 되었기를 바라며, 추가적인 문제가 발생하거나 궁금한 점이 있으시면 언제든지 질문해 주세요. 곧 지식공유자께서도 도움을 드릴 것입니다.

저는 질문자님의 이해를 돕고자 기존 답변을 참고하여 유사한 해결 방법을 안내 드리고 있습니다. 현재 베타 기능으로 답변이 완전하지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 질문이 있으시면 이어서 남겨주시면 감사하겠습니다.

setting.json 파일 관련

0

4

1

현재 hermes codex oauth 쪽 관련 문제가 있는 것으로 보입니다.

0

19

2

안녕하세요? 섹션14는 강의가 언제부터 올라오나요? 너무나 궁금하고 기대가 됩니다~ ^^

0

14

1

섹션 1 강의자료 없나요

0

19

2

진도율?

0

17

1

입력부분

0

19

1

claude 무료 버전으로는 수업을 따라 할 수 없나요?

0

21

1

연결 ai 질문입니다.

0

31

2

무료강의 2번째

0

18

1

n8n 사용 목적

0

23

1

/hooks-matcher 입력 관련

0

22

2

VS Code 터미널에서 Claude 통합

0

29

2

에이전트 질문 드립니다.

0

26

2

붙여쓰기시, 축약형으로 보임

0

25

2

[2회독] 전역 폴더에 rules 적용

0

21

1

강의 논문 질문

0

21

0

섹션1부터 들어야 하나요?

0

50

1

커서 터미널에서 클로드코드 대화창에 이미지를 cmd+v 해도 붙여넣기가 안 됩니다.

0

23

2

스타터 킷 계획 모드 결과 (프로젝트생성2 강의)

0

25

1

깃 아이콘이 다른 문제

0

25

2

40강 Multi GPU 필요성 설명이 두번 나오는 것 같아요

0

26

2

There are no longer any instances available with the requested specifications. Please refresh and try again.

0

32

2

질문있는데요.. vLLM은 말씀하신 사양에 적용이되나요?

0

49

2

강의 영상 오류

0

79

1