Sign inSign up

seungchan1122/sportsmate-frontend

By seungchan1122

Updated about 2 months ago

Image
0

100

seungchan1122/sportsmate-frontend repository overview

SportsMate Frontend

SportsMate의 React 프론트엔드를 Nginx로 제공하는 Docker 이미지입니다.

함께 사용하는 백엔드 이미지는
seungchan1122/sportsmate-backend에서 확인할 수 있습니다.

구성

  • React
  • Vite
  • Nginx
  • SPA fallback routing
  • /api/ 요청을 백엔드 컨테이너로 프록시

React 애플리케이션은 빌드 단계에서 정적 파일로 생성되며, 최종 이미지에서는 Nginx가 결과물을 제공합니다.

이미지 받기

docker pull seungchan1122/sportsmate-frontend:1.0

단독 실행

docker run -d \
  --name sportsmate-frontend \
  -p 5002:80 \
  seungchan1122/sportsmate-frontend:1.0

실행 후 다음 주소에서 확인할 수 있습니다.

http://localhost:5002

다만 API 요청까지 정상적으로 처리하려면 백엔드 컨테이너를 함께 실행해야 합니다.

백엔드와 함께 실행

먼저 프론트엔드와 백엔드가 사용할 Docker 네트워크를 생성합니다.

docker network create sportsmate-network

백엔드 컨테이너 실행:

docker run -d \
  --name sportsmate-backend \
  --network sportsmate-network \
  --network-alias backend \
  --restart unless-stopped \
  --env-file ./backend/.env \
  -p 5001:5000 \
  seungchan1122/sportsmate-backend:1.0

프론트엔드 컨테이너 실행:

docker run -d \
  --name sportsmate-frontend \
  --network sportsmate-network \
  --restart unless-stopped \
  -p 5002:80 \
  seungchan1122/sportsmate-frontend:1.0

프론트엔드 Nginx는 /api/ 요청을 Docker 네트워크 내부의 다음 주소로 전달합니다.

http://backend:5000

여기서 backend는 백엔드 컨테이너에 지정한 네트워크 별칭입니다.

포트

구분호스트컨테이너
Frontend500280
Backend50015000

연결 확인

프론트엔드 응답 확인:

curl -I http://localhost:5002

Nginx를 통한 백엔드 헬스 체크:

curl -i http://localhost:5002/api/health

정상 응답:

{
  "status": "ok"
}

로그 확인

docker logs --tail 100 sportsmate-frontend

실시간 로그:

docker logs -f sportsmate-frontend

컨테이너 종료

docker stop sportsmate-frontend

컨테이너 삭제

docker rm -f sportsmate-frontend

관련 이미지

Tag summary

Content type

Image

Digest

sha256:4d7e241cb

Size

74.5 MB

Last updated

about 2 months ago

docker pull seungchan1122/sportsmate-frontend:1.0