Files
exAichatbot_agent/exAiChatBot-chatbot2.0-agent/old_docs/TROUBLESHOOTING.md
T
Macbook 4b86b2a660 Agent 2.0 exdev 서버 배포 스택
- server-dev start/stop/deploy 및 Gitea push 자동 배포
- local-dev 로컬 개발 환경

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 22:57:30 +09:00

4.5 KiB

베이스 이미지 문제 해결 가이드

🔴 문제: "rag-demo-base:latest" 이미지를 찾을 수 없음

failed to solve: rag-demo-base:latest: failed to resolve source metadata

✅ 해결 방법

방법 1: 수동으로 베이스 이미지 빌드 (즉시 해결)

cd /Users/parkjiwon/src/rag

# 베이스 이미지 빌드
docker-compose --profile setup build _base

# 확인
docker images | grep rag-demo-base

# 이제 패키징 스크립트 실행
./create-offline-package.sh

방법 2: 스크립트 이미 수정됨 (자동)

최신 버전의 create-offline-package.sh는 베이스 이미지를 자동으로 빌드합니다!

다시 실행해보세요:

./create-offline-package.sh

📦 Docker 이미지 구조

rag-demo-base:latest           (베이스 이미지)
    ↓ FROM
rag_preprocess:latest          (전처리 서비스)
rag_embed:latest               (임베딩 서비스)
rag_index:latest               (인덱싱 서비스)
    ↓ FROM  
rag_api:latest                 (API 서비스)

베이스 이미지가 없으면 다른 이미지를 빌드할 수 없습니다!


🔍 베이스 이미지 확인

# 베이스 이미지 존재 여부 확인
docker images | grep rag-demo-base

# 예상 출력:
# rag-demo-base   latest   abc123def456   5 minutes ago   1.5GB

🛠️ 수동 빌드 순서 (참고용)

Docker Compose를 사용하지 않고 수동으로:

# 1. 베이스 이미지 빌드
docker build -f docker/base.Dockerfile -t rag-demo-base:latest .

# 2. 배치 서비스 이미지 빌드
docker build -f docker/batch.Dockerfile -t rag-batch:latest .

# 3. API 서비스 이미지 빌드
docker build -f docker/service.Dockerfile -t rag-api:latest .

✨ 업데이트된 스크립트 기능

create-offline-package.sh (v2)

자동으로 수행:

  1. ✅ 베이스 이미지 빌드 (_base)
  2. ✅ 서비스 이미지 빌드 (preprocess, embed, index, api)
  3. ✅ 3개 이미지를 tar로 저장
    • rag-demo-base.tar
    • rag-batch.tar
    • rag-api.tar
  4. ✅ 프로젝트 파일 복사
  5. ✅ 배포 스크립트 생성 (deploy.sh도 베이스 이미지 로드 포함)
  6. ✅ 전체 패키지 압축

📊 패키지 크기 변경

이전

rag-api.tar         1.2GB
rag-batch.tar       1.1GB
─────────────────────────
Total:              2.3GB

업데이트 후

rag-demo-base.tar   1.5GB
rag-api.tar         0.2GB (베이스 위에 추가 레이어만)
rag-batch.tar       0.2GB (베이스 위에 추가 레이어만)
─────────────────────────
Total:              1.9GB (더 작아짐!)

베이스 이미지를 공유하므로 전체 크기가 줄어듭니다!


🚀 지금 다시 실행하세요

cd /Users/parkjiwon/src/rag
./create-offline-package.sh

이번엔 성공할 것입니다! ✅


📝 실행 예상 출력

================================================
RAG 시스템 오프라인 배포 패키지 생성
================================================
프로젝트 디렉토리: /Users/parkjiwon/src/rag
[1/7] 패키지 디렉토리 생성: /Users/parkjiwon/rag-offline-package
[2/7] Docker 이미지 빌드 중...
  - 베이스 이미지 빌드 중...
  ✅ 베이스 이미지 빌드 완료
  - 서비스 이미지 빌드 중...
  ✅ 서비스 이미지 빌드 완료
[3/7] 이미지 태그 정리 중...
[4/7] Docker 이미지를 tar 파일로 저장 중...
  - rag-demo-base.tar 저장 중...
    완료: 1.5G
  - rag-api.tar 저장 중...
    완료: 200M
  - rag-batch.tar 저장 중...
    완료: 200M
[5/7] 프로젝트 파일 복사 중...
[6/7] 배포 스크립트 생성 중...
[7/7] 전체 패키지 압축 중...

================================================
✅ 패키지 생성 완료!
================================================
패키지 위치: /Users/parkjiwon/rag-offline-package.tar.gz
패키지 크기: 2.1G

❓ 여전히 문제가 있다면

캐시 문제

# Docker 빌드 캐시 제거
docker builder prune -af

# 다시 빌드
docker-compose --profile setup build --no-cache _base
./create-offline-package.sh

디스크 공간 부족

# 디스크 공간 확인
df -h

# Docker 정리
docker system prune -af

권한 문제

# 스크립트 권한 확인
ls -la create-offline-package.sh

# 권한 부여
chmod +x create-offline-package.sh

문제가 해결되었나요? 다시 실행해보세요! 🚀