#!/bin/bash # Linux/macOS용 Docker 실행 스크립트 (프로덕션) echo "================================" echo "REST API Server Docker Run" echo "================================" # Docker가 실행 중인지 확인 if ! command -v docker &> /dev/null; then echo "[ERROR] Docker가 설치되지 않았습니다." exit 1 fi if ! docker info &> /dev/null; then echo "[ERROR] Docker 데몬이 실행되지 않았습니다. Docker를 시작해주세요." exit 1 fi # 기존 컨테이너 중지 및 제거 echo "[INFO] 기존 컨테이너 정리 중..." docker stop restapi-server 2>/dev/null || true docker rm restapi-server 2>/dev/null || true # 컨테이너 실행 echo "[INFO] REST API 서버 컨테이너 시작 중..." if docker run -d \ --name restapi-server \ --restart unless-stopped \ -p 5577:5577 \ -e NODE_ENV=production \ -e DB_HOST=39.117.244.52 \ -e DB_PORT=11521 \ -e DB_DATABASE=XE \ -e DB_USERNAME=wace \ -e DB_PASSWORD=wace0909!! \ -e PORT=5577 \ restapi-server:latest; then echo "[SUCCESS] 컨테이너가 성공적으로 시작되었습니다!" echo "" echo "서버 정보:" echo " URL: http://localhost:5577" echo " Health Check: http://localhost:5577/api/health" echo " Container: restapi-server" echo "" echo "컨테이너 관리:" echo " 로그 보기: docker logs -f restapi-server" echo " 중지: docker stop restapi-server" echo " 재시작: docker restart restapi-server" echo "" # 잠시 후 헬스체크 echo "[INFO] 서버 시작 대기 중... (10초)" sleep 10 echo "[INFO] 헬스체크 수행 중..." if curl -s http://localhost:5577/api/health > /dev/null 2>&1; then echo "[SUCCESS] 서버가 정상적으로 실행 중입니다!" else echo "[WARNING] 서버가 아직 시작 중일 수 있습니다. 잠시 후 다시 확인해주세요." fi else echo "[ERROR] 컨테이너 시작 실패!" exit 1 fi