fix: docker-compose 빌드 오류 해결 가이드 및 자동화 스크립트 추가

- WSL2 Ubuntu에서 'image already exists' 오류 해결 문서 추가
- Linux/macOS용 build.sh 스크립트 추가 (BuildKit 비활성화)
- Windows PowerShell용 build.ps1 스크립트 추가
- 빌드 오류 트러블슈팅 가이드 추가
- docker-compose.yml에 빌드 오류 관련 주석 추가
- MODULES.md에 Docker 빌드 오류 해결 섹션 추가
This commit is contained in:
2025-12-31 11:48:29 +09:00
parent 53326703ab
commit f41599eef6
6 changed files with 591 additions and 0 deletions

View File

@ -279,6 +279,103 @@ docker compose push
docker compose build && docker compose push
```
### 9. 빌드 오류 해결
#### 오류: "image already exists"
```bash
# 증상
# > [weather-api] exporting to image:
# [+] build 0/1
# target weather-api: failed to solve: image "reg.firstgarden.co.kr/fgtools:latest": already exists
# 해결 방법 1: BuildKit 비활성화 (권장)
DOCKER_BUILDKIT=0 docker compose build
# 해결 방법 2: 캐시 무시하고 빌드
docker compose build --no-cache
# 해결 방법 3: 이전 이미지 삭제 후 빌드
docker rmi reg.firstgarden.co.kr/fgtools:latest
docker compose build
# 해결 방법 4: 완전 초기화
docker compose down
docker rmi reg.firstgarden.co.kr/fgtools:latest
docker buildx prune -a
docker compose build
# 해결 방법 5: 빌드 스크립트 사용 (권장)
# Linux/macOS
chmod +x scripts/build.sh
./scripts/build.sh clean # 또는 ./scripts/build.sh force
# Windows PowerShell
.\scripts\build.ps1 -Clean # 또는 .\scripts\build.ps1 -Force
```
#### 빌드 스크립트 사용
자동화된 빌드 스크립트를 제공합니다:
**Linux/macOS:**
```bash
chmod +x scripts/build.sh
# 기본 빌드 (BuildKit 비활성화)
./scripts/build.sh
# 캐시 무시하고 빌드
./scripts/build.sh clean
# 완전 초기화 후 빌드
./scripts/build.sh force
# 빌드 및 사설 레지스트리에 푸시
./scripts/build.sh push
```
**Windows PowerShell:**
```powershell
# 첫 실행 시 실행 정책 설정
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 기본 빌드
.\scripts\build.ps1
# 캐시 무시하고 빌드
.\scripts\build.ps1 -Clean
# 완전 초기화 후 빌드
.\scripts\build.ps1 -Force
# 빌드 및 푸시
.\scripts\build.ps1 -Push
```
#### WSL2 Ubuntu에서 권장 방법
```bash
# WSL2 우분투에서 BuildKit 문제가 자주 발생합니다.
# 다음 방법들을 순서대로 시도하세요:
# 1단계: BuildKit 비활성화로 빌드
DOCKER_BUILDKIT=0 docker compose build
# 실패하면:
# 2단계: 캐시 무시하고 빌드
DOCKER_BUILDKIT=0 docker compose build --no-cache
# 여전히 실패하면:
# 3단계: 완전 초기화
docker compose down
docker rmi reg.firstgarden.co.kr/fgtools:latest
docker buildx prune -a
DOCKER_BUILDKIT=0 docker compose build
# 또는 제공된 빌드 스크립트 사용:
chmod +x scripts/build.sh
./scripts/build.sh force
```
## 📖 API 문서
### Dashboard API (포트 5000)