Open WebUI를 Docker 환경에서 배포할 때 가장 빈번하게 발생하는 세 가지 이슈는 이미지 다운로드 속도, 호스트의 Ollama 서비스 연동, 그리고 컨테이너 재시작 시의 데이터 보존입니다. 이 글에서는 효율적인 배포 프로세스와 설정 최적화 방법을 설명합니다.
1. 최적의 이미지 선택 및 다운로드
Open WebUI 공식 이미지는 GitHub Container Registry(GHCR)를 기반으로 합니다. 네트워크 환경에 따라 GHCR 접속이 원활하지 않을 경우 Docker Hub의 미러 이미지를 활용하는 것이 효율적입니다.
# GHCR 공식 이미지 다운로드 시도
docker pull ghcr.io/open-webui/open-webui:main
# 네트워크 지연 시 대체 경로(미러) 사용 예시
docker pull ghcr.1ms.run/open-webui/open-webui:main
2. 핵심 배포 커맨드 및 옵션 분석
컨테이너를 처음 실행할 때 데이터 영속성과 포트 포워딩을 올바르게 설정해야 합니다. 아래는 가장 표준적인 실행 명령입니다.
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v owui_data:/app/backend/data \
--name ai-web-interface \
--restart always \
ghcr.io/open-webui/open-webui:main
주요 파라미터 상세 설명
| 옵션 | 설명 |
|---|---|
-p 3000:8080 |
호스트의 3000번 포트를 컨테이너 내부 8080 포트와 연결합니다. |
--add-host |
Linux 환경에서 컨테이너가 호스트 머신의 서비스(Ollama 등)에 접근할 수 있도록 게이트웨이를 설정합니다. |
-v owui_data:... |
Docker 볼륨을 생성하여 대화 기록 및 설정 데이터를 컨테이너 외부로 격리 저장합니다. |
--restart always |
시스템 재부팅이나 오류 발생 시 컨테이너가 자동으로 다시 실행되도록 보장합니다. |
3. 호스트 Ollama 서비스 연결 설정
기본적으로 컨테이너 내부의 127.0.0.1은 호스트가 아닌 컨테이너 자신을 가리킵니다. 따라서 호스트에서 실행 중인 Ollama(포트 11434)에 접속하려면 환경 변수 설정이 필수적입니다.
# 환경 변수를 포함한 실행 예시
docker run -d \
-p 3000:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v owui_data:/app/backend/data \
--add-host=host.docker.internal:host-gateway \
--name ai-web-interface \
ghcr.io/open-webui/open-webui:main
배포 후에는 컨테이너 내부에서 아래 명령어로 호스트 통신 여부를 확인할 수 있습니다.
docker exec -it ai-web-interface curl http://host.docker.internal:11434/api/tags
4. Docker Compose를 이용한 관리 자동화
설정 정보가 많아질 경우 관리 편의성을 위해 docker-compose.yml 파일을 사용하는 것이 좋습니다.
version: '3.8'
services:
webui-app:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui-service
ports:
- "3000:8080"
environment:
- 'OLLAMA_BASE_URL=http://host.docker.internal:11434'
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- storage_volume:/app/backend/data
restart: unless-stopped
volumes:
storage_volume:
5. 트러블슈팅 체크리스트
- 이미지 풀링 실패: 프록시 설정 혹은 미러 사이트 활용 여부를 점검하십시오.
- 모델 목록 미출력:
OLLAMA_BASE_URL이 정확한지, 호스트의 Ollama가 외부 접속을 허용하고 있는지(OLLAMA_HOST=0.0.0.0 설정 확인) 점검하십시오. - 데이터 초기화 이슈:
docker volume ls명령어를 통해 볼륨이 정상적으로 생성되었는지 확인하십시오. - 네트워크 보안: 클라우드 서버 환경이라면 방화벽(Security Group)에서 3000번 포트가 허용되어 있는지 체크해야 합니다.