diff --git a/restart.bat b/restart.bat index cd8791d..05ee741 100644 --- a/restart.bat +++ b/restart.bat @@ -48,20 +48,23 @@ if "%USE_GPU%"=="1" ( set COMPOSE_FILES=-f docker-compose.yml ) -REM 3) 컨테이너 살아있는지 확인 — 없으면 build.bat 안내 -docker compose %COMPOSE_FILES% ps --status running --quiet >nul 2>&1 -for /f %%i in ('docker compose %COMPOSE_FILES% ps --status running --quiet 2^>nul ^| find /v /c ""') do set RUN_COUNT=%%i +REM 3) backend/web 컨테이너 살아있는지 확인 — 없으면 build.bat 안내 +REM (db 까지 포함해서 세면 db 만 떠있어도 통과돼버려서 부정확) +for /f %%i in ('docker compose %COMPOSE_FILES% ps --status running --quiet backend web 2^>nul ^| find /v /c ""') do set RUN_COUNT=%%i if "%RUN_COUNT%"=="0" ( - echo [INFO] 실행 중인 컨테이너가 없습니다. 처음이거나 down 된 상태입니다. + echo [INFO] 실행 중인 backend/web 컨테이너가 없습니다. 처음이거나 down 된 상태입니다. echo build.bat 으로 빌드 + 기동하세요. pause exit /b 1 ) -REM 4) 재시작 (전체 — backend lifespan 부팅 시드, web next dev 모두 새로 시작) +REM 4) backend + web 만 재시작 — db 는 건드리지 않음. +REM docker compose restart 는 depends_on.condition: service_healthy 를 지키지 않으므로 +REM db 까지 같이 재시작하면 backend lifespan 부팅 시드가 db 준비 전에 실행될 수 있다. +REM db 는 상태 (postgres_data 볼륨) 가 영속이라 재시작할 이유도 없다. echo. -echo === docker compose restart === -docker compose %COMPOSE_FILES% restart +echo === docker compose restart backend web === +docker compose %COMPOSE_FILES% restart backend web if errorlevel 1 ( echo [ERROR] restart 실패. pause