UnifiedService를 Docker 환경에서 실행하는 방법을 설명합니다.
docker-compose -f docker-compose.unified.yml up --build -d
# 전체 로그 확인
docker-compose -f docker-compose.unified.yml logs -f
# UnifiedService 로그만 확인
docker-compose -f docker-compose.unified.yml logs -f unified-service
# MySQL 로그 확인
docker-compose -f docker-compose.unified.yml logs -f mysql
# Redis 로그 확인
docker-compose -f docker-compose.unified.yml logs -f redis
# 컨테이너 상태 확인
docker-compose -f docker-compose.unified.yml ps
# Health Check 확인
curl http://localhost:8089/actuator/health
로컬에서 먼저 테스트하려면:
./gradlew :UnifiedService:clean :UnifiedService:build -x test
MySQL과 Redis만 먼저 시작하려면:
docker-compose -f docker-compose.unified.yml up -d mysql redis
# 백그라운드 실행
docker-compose -f docker-compose.unified.yml up -d
# 포어그라운드 실행 (로그 실시간 확인)
docker-compose -f docker-compose.unified.yml up
# 서비스 중지 (컨테이너 삭제)
docker-compose -f docker-compose.unified.yml down
# 볼륨까지 삭제 (데이터베이스 데이터도 삭제됨)
docker-compose -f docker-compose.unified.yml down -v
캐시 없이 완전히 새로 빌드:
docker-compose -f docker-compose.unified.yml build --no-cache unified-service
docker-compose -f docker-compose.unified.yml up -d
docker-compose -f docker-compose.unified.yml restart unified-service
# UnifiedService 컨테이너 접속
docker exec -it akc-unified-service sh
# MySQL 컨테이너 접속
docker exec -it akc-mysql mysql -u antsome -p
# 최근 100줄만 보기
docker-compose -f docker-compose.unified.yml logs --tail=100 unified-service
# 특정 시간 이후 로그
docker-compose -f docker-compose.unified.yml logs --since 10m unified-service
docker stats akc-unified-service
UnifiedService가 정상 실행되면 다음 포트로 접근 가능합니다:
UnifiedService: http://localhost:8089
MySQL: localhost:3306
Redis: localhost:6379
docker-compose.unified.yml 파일에서 다음 환경 변수를 수정할 수 있습니다:
environment:
# 프로파일
SPRING_PROFILES_ACTIVE: docker
# 데이터베이스
DB_HOST: mysql
DB_PORT: 3306
DB_NAME: db_akc_b2c
DB_USERNAME: antsome
DB_PASSWORD: Q1w2e3r4%^
# Redis
REDIS_HOST: redis
REDIS_PORT: 6379
# External API
EXTERNAL_PARKING_API_URL: https://api.dev.amanocloud.co.kr
EXTERNAL_PARKING_API_TOKEN: your-token-here
# JWT
JWT_SECRET: akc-b2c-jwt-secret-key-2024-very-long-and-secure
# 1. 로컬에서 개발 및 테스트
./gradlew :UnifiedService:bootRun
# 2. Docker로 빌드 및 실행
docker-compose -f docker-compose.unified.yml up --build -d
# 3. 로그 모니터링
docker-compose -f docker-compose.unified.yml logs -f unified-service
# 1. 프로젝트를 원격 서버로 복사
scp -r . user@remote-server:/path/to/project
# 2. 원격 서버 접속
ssh user@remote-server
# 3. Docker Compose 실행
cd /path/to/project
docker-compose -f docker-compose.unified.yml up -d
# 4. 서비스 확인
curl http://localhost:8089/actuator/health
# 1. 이미지 빌드
docker build -f UnifiedService/Dockerfile -t akc-unified-service:latest .
# 2. 이미지 저장 (tar 파일로)
docker save akc-unified-service:latest -o akc-unified-service.tar
# 3. 원격 서버로 전송
scp akc-unified-service.tar user@remote-server:/tmp/
# 4. 원격 서버에서 이미지 로드
ssh user@remote-server
docker load -i /tmp/akc-unified-service.tar
# 5. docker-compose.yml 수정하여 빌드 대신 이미지 사용
# image: akc-unified-service:latest 로 변경
# 6. 실행
docker-compose -f docker-compose.unified.yml up -d
# 모든 컨테이너 모니터링
docker stats
# UnifiedService만 모니터링
docker stats akc-unified-service
docker exec akc-unified-service sh -c "ps aux | head -1 && ps aux | grep java"
UnifiedService 컨테이너 내에서:
docker exec akc-unified-service sh -c "jstat -gc 1 1000 5"
다음 명령어로 모든 것이 정상인지 확인:
# 1. 컨테이너 상태
docker-compose -f docker-compose.unified.yml ps
# 2. Health Check
curl http://localhost:8089/actuator/health | jq .
# 3. 로그 확인 (에러 없는지)
docker-compose -f docker-compose.unified.yml logs --tail=50 unified-service
# 4. API 테스트
curl http://localhost:8089/api/auth/health
정상적으로 실행되면 다음과 같은 응답을 받을 수 있습니다:
{
"status": "UP",
"components": {
"db": {
"status": "UP"
},
"diskSpace": {
"status": "UP"
},
"ping": {
"status": "UP"
}
}
}
# 전체 재시작
docker-compose -f docker-compose.unified.yml restart
# 서비스별 재시작
docker-compose -f docker-compose.unified.yml restart unified-service
docker-compose -f docker-compose.unified.yml restart mysql
docker-compose -f docker-compose.unified.yml restart redis
# 로그 클리어 후 재시작
docker-compose -f docker-compose.unified.yml down
docker system prune -f
docker-compose -f docker-compose.unified.yml up -d
# 볼륨 확인
docker volume ls | grep akc
# 네트워크 확인
docker network ls | grep akc
# 이미지 확인
docker images | grep akc