#!/bin/bash echo "============================================" echo "백엔드 권한 문제 긴급 수정" echo "============================================" echo "" echo "🔧 백엔드 컨테이너 권한 문제를 수정합니다..." echo "" # 1. 기존 백엔드 컨테이너 중지 및 제거 echo "1. 기존 백엔드 컨테이너 중지 중..." docker-compose -f docker/prod/docker-compose.backend.prod.yml down -v --remove-orphans 2>/dev/null || true # 강제로 컨테이너 제거 docker stop pms-backend-prod 2>/dev/null || true docker rm pms-backend-prod 2>/dev/null || true # 2. 기존 이미지 제거 (캐시 무효화) echo "2. 기존 백엔드 이미지 제거 중..." docker rmi $(docker images | grep -E "(pms-backend|erp-node.*backend)" | awk '{print $3}') 2>/dev/null || true # 3. 새로운 이미지 빌드 echo "3. 수정된 백엔드 이미지 빌드 중..." docker-compose -f docker/prod/docker-compose.backend.prod.yml build --no-cache --pull if [ $? -ne 0 ]; then echo "❌ 백엔드 빌드 실패" exit 1 fi # 4. 백엔드 컨테이너 시작 echo "4. 백엔드 컨테이너 시작 중..." docker-compose -f docker/prod/docker-compose.backend.prod.yml up -d # 5. 잠시 대기 후 상태 확인 echo "5. 백엔드 서비스 안정화 대기 중... (30초)" sleep 30 # 6. 상태 확인 echo "6. 백엔드 컨테이너 상태 확인:" docker-compose -f docker/prod/docker-compose.backend.prod.yml ps echo "" echo "백엔드 최근 로그:" docker-compose -f docker/prod/docker-compose.backend.prod.yml logs --tail=15 # 7. 헬스체크 echo "" echo "7. 헬스체크 수행 중..." for i in {1..10}; do if curl -s http://localhost:8080/health >/dev/null 2>&1; then echo " ✅ 백엔드 서비스 정상 복구!" echo "" echo "🎉 수정 완료! 백엔드가 정상적으로 실행 중입니다." exit 0 else echo " ⏳ 백엔드 응답 대기 중... ($i/10)" sleep 3 fi done echo " ❌ 여전히 문제가 있습니다. 로그를 확인해주세요:" docker-compose -f docker/prod/docker-compose.backend.prod.yml logs --tail=20 echo "" echo "🔧 추가 디버깅 명령어:" echo " 실시간 로그: docker-compose -f docker/prod/docker-compose.backend.prod.yml logs -f" echo " 컨테이너 접속: docker exec -it pms-backend-prod bash" echo " 권한 확인: docker exec -it pms-backend-prod ls -la /app/"