4b86b2a660
- server-dev start/stop/deploy 및 Gitea push 자동 배포 - local-dev 로컬 개발 환경 Co-authored-by: Cursor <cursoragent@cursor.com>
4.5 KiB
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)
자동으로 수행:
- ✅ 베이스 이미지 빌드 (
_base) - ✅ 서비스 이미지 빌드 (preprocess, embed, index, api)
- ✅ 3개 이미지를 tar로 저장
rag-demo-base.tarrag-batch.tarrag-api.tar
- ✅ 프로젝트 파일 복사
- ✅ 배포 스크립트 생성 (deploy.sh도 베이스 이미지 로드 포함)
- ✅ 전체 패키지 압축
📊 패키지 크기 변경
이전
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
문제가 해결되었나요? 다시 실행해보세요! 🚀