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

201 lines
4.5 KiB
Markdown

# 베이스 이미지 문제 해결 가이드
## 🔴 문제: "rag-demo-base:latest" 이미지를 찾을 수 없음
```
failed to solve: rag-demo-base:latest: failed to resolve source metadata
```
## ✅ 해결 방법
### 방법 1: 수동으로 베이스 이미지 빌드 (즉시 해결)
```bash
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`는 베이스 이미지를 자동으로 빌드합니다!**
다시 실행해보세요:
```bash
./create-offline-package.sh
```
---
## 📦 Docker 이미지 구조
```
rag-demo-base:latest (베이스 이미지)
↓ FROM
rag_preprocess:latest (전처리 서비스)
rag_embed:latest (임베딩 서비스)
rag_index:latest (인덱싱 서비스)
↓ FROM
rag_api:latest (API 서비스)
```
**베이스 이미지가 없으면 다른 이미지를 빌드할 수 없습니다!**
---
## 🔍 베이스 이미지 확인
```bash
# 베이스 이미지 존재 여부 확인
docker images | grep rag-demo-base
# 예상 출력:
# rag-demo-base latest abc123def456 5 minutes ago 1.5GB
```
---
## 🛠️ 수동 빌드 순서 (참고용)
Docker Compose를 사용하지 않고 수동으로:
```bash
# 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 (더 작아짐!)
```
**베이스 이미지를 공유하므로 전체 크기가 줄어듭니다!**
---
## 🚀 지금 다시 실행하세요
```bash
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
```
---
## ❓ 여전히 문제가 있다면
### 캐시 문제
```bash
# Docker 빌드 캐시 제거
docker builder prune -af
# 다시 빌드
docker-compose --profile setup build --no-cache _base
./create-offline-package.sh
```
### 디스크 공간 부족
```bash
# 디스크 공간 확인
df -h
# Docker 정리
docker system prune -af
```
### 권한 문제
```bash
# 스크립트 권한 확인
ls -la create-offline-package.sh
# 권한 부여
chmod +x create-offline-package.sh
```
---
문제가 해결되었나요? 다시 실행해보세요! 🚀