- Docker Compose 설정에서 프론트엔드 메모리 제한을 6G로 설정하고, 2G의 메모리 예약을 추가하여 성능을 향상시켰습니다. - Node.js의 최대 메모리 크기를 4096MB로 설정하여 메모리 부족 문제를 방지합니다. - Windows에서 모든 컨테이너 및 이미지를 정리하는 스크립트를 업데이트하여, 불필요한 리소스를 제거하고 빌드 프로세스를 최적화하였습니다. - 백엔드 및 프론트엔드 빌드를 캐시 없이 완전 재빌드하도록 수정하여, 최신 변경 사항이 반영되도록 하였습니다.
119 lines
3.4 KiB
Batchfile
119 lines
3.4 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
setlocal EnableDelayedExpansion
|
|
|
|
REM 스크립트가 있는 디렉토리에서 루트로 이동
|
|
cd /d "%~dp0\..\.."
|
|
|
|
REM 시작 시간 기록
|
|
set START_TIME=%DATE% %TIME%
|
|
|
|
echo ============================================
|
|
echo WACE 솔루션 - 전체 서비스 시작 (병렬 최적화)
|
|
echo ============================================
|
|
echo [시작 시간] %START_TIME%
|
|
echo.
|
|
|
|
REM Docker Desktop 실행 확인
|
|
echo [1/5] Docker Desktop 상태 확인 중...
|
|
docker --version >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] Docker Desktop이 실행되지 않았습니다!
|
|
echo Docker Desktop을 먼저 실행해주세요.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] Docker Desktop이 실행 중입니다.
|
|
echo.
|
|
|
|
REM 기존 컨테이너 및 이미지 정리
|
|
echo [2/5] 기존 컨테이너 및 이미지 정리 중...
|
|
docker rm -f pms-backend-win pms-frontend-win 2>nul
|
|
docker rmi -f erp-node-backend erp-node-frontend 2>nul
|
|
docker network rm pms-network 2>nul
|
|
docker network create pms-network 2>nul
|
|
docker system prune -f >nul 2>&1
|
|
echo [OK] 컨테이너 및 이미지 정리 완료
|
|
echo.
|
|
|
|
REM 병렬 빌드 (docker-compose 자체가 병렬 처리)
|
|
echo [3/5] 이미지 빌드 중... (백엔드 + 프론트엔드 병렬)
|
|
echo 이 작업은 시간이 걸릴 수 있습니다...
|
|
echo.
|
|
|
|
REM 백엔드 빌드 (캐시 없이 완전 재빌드)
|
|
docker-compose -f docker-compose.backend.win.yml build --no-cache
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] 백엔드 빌드 실패!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] 백엔드 빌드 완료
|
|
echo.
|
|
|
|
REM 프론트엔드 빌드 (캐시 없이 완전 재빌드)
|
|
docker-compose -f docker-compose.frontend.win.yml build --no-cache
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] 프론트엔드 빌드 실패!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] 프론트엔드 빌드 완료
|
|
echo.
|
|
|
|
REM 기존 컨테이너 정리 후 서비스 시작
|
|
echo [4/5] 서비스 시작 중...
|
|
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
|
|
docker-compose -f docker-compose.frontend.win.yml down -v 2>nul
|
|
|
|
REM 백엔드 시작
|
|
echo 백엔드 서비스 시작...
|
|
docker-compose -f docker-compose.backend.win.yml up -d
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] 백엔드 시작 실패!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
REM 프론트엔드 시작
|
|
echo 프론트엔드 서비스 시작...
|
|
docker-compose -f docker-compose.frontend.win.yml up -d
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] 프론트엔드 시작 실패!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] 서비스 시작 완료
|
|
echo.
|
|
|
|
REM 안정화 대기
|
|
echo [5/5] 서비스 안정화 대기 중... (10초)
|
|
timeout /t 10 /nobreak >nul
|
|
echo.
|
|
|
|
echo ============================================
|
|
echo [완료] 모든 서비스가 시작되었습니다!
|
|
echo ============================================
|
|
echo.
|
|
echo [DATABASE] PostgreSQL: http://39.117.244.52:11132
|
|
echo [BACKEND] Node.js API: http://localhost:8080/api
|
|
echo [FRONTEND] Next.js: http://localhost:9771
|
|
echo.
|
|
echo [서비스 상태 확인]
|
|
echo docker-compose -f docker-compose.backend.win.yml ps
|
|
echo docker-compose -f docker-compose.frontend.win.yml ps
|
|
echo.
|
|
echo [로그 확인]
|
|
echo 백엔드: docker-compose -f docker-compose.backend.win.yml logs -f
|
|
echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f
|
|
echo.
|
|
echo [서비스 중지]
|
|
echo scripts\dev\stop-all.bat
|
|
echo.
|
|
|
|
set END_TIME=%DATE% %TIME%
|
|
echo [종료 시간] %END_TIME%
|
|
echo ============================================
|
|
|
|
pause
|