From 0de78c6d6c30bdcc60093740efa1293c0cb2d3df Mon Sep 17 00:00:00 2001 From: khyeonmin Date: Sat, 7 Jun 2025 23:20:24 +0900 Subject: [PATCH 1/2] Build(docker): update Docker config to link main and feature pages --- frontend/spec-trackr-app/sta.dockerfile | 8 ++++++++ frontend/spectrackr-main/main.dockerfile | 8 ++++++++ frontend/spectrackr-main/nginx/default.conf | 11 +++++++++++ 3 files changed, 27 insertions(+) create mode 100644 frontend/spec-trackr-app/sta.dockerfile create mode 100644 frontend/spectrackr-main/main.dockerfile create mode 100644 frontend/spectrackr-main/nginx/default.conf diff --git a/frontend/spec-trackr-app/sta.dockerfile b/frontend/spec-trackr-app/sta.dockerfile new file mode 100644 index 000000000..cab0a8d00 --- /dev/null +++ b/frontend/spec-trackr-app/sta.dockerfile @@ -0,0 +1,8 @@ +FROM node:18-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +ENV HOST=0.0.0.0 BROWSER=none PORT=3001 +EXPOSE 3001 +CMD ["npm", "start"] diff --git a/frontend/spectrackr-main/main.dockerfile b/frontend/spectrackr-main/main.dockerfile new file mode 100644 index 000000000..c0aa62c30 --- /dev/null +++ b/frontend/spectrackr-main/main.dockerfile @@ -0,0 +1,8 @@ +FROM node:18-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +ENV HOST=0.0.0.0 PORT=3003 +EXPOSE 3003 +CMD ["npm", "run", "dev"] diff --git a/frontend/spectrackr-main/nginx/default.conf b/frontend/spectrackr-main/nginx/default.conf new file mode 100644 index 000000000..80327094a --- /dev/null +++ b/frontend/spectrackr-main/nginx/default.conf @@ -0,0 +1,11 @@ +server { + listen 80; + server_name localhost; + + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri /index.html; + } +} From 0c39194eba80767d9791ea54d10d3c20a57d1a4b Mon Sep 17 00:00:00 2001 From: khyeonmin Date: Sat, 7 Jun 2025 23:41:47 +0900 Subject: [PATCH 2/2] Fix(docker): resolve infinite loading in main page --- docker-compose.yml | 28 ++++++++++++++------ frontend/spec-trackr-app/frontend.dockerfile | 24 ----------------- frontend/spec-trackr-app/nginx/default.conf | 11 -------- frontend/spec-trackr-app/src/index.js | 1 - frontend/spectrackr-main/app/page.tsx | 4 +-- 5 files changed, 22 insertions(+), 46 deletions(-) delete mode 100644 frontend/spec-trackr-app/frontend.dockerfile delete mode 100644 frontend/spec-trackr-app/nginx/default.conf diff --git a/docker-compose.yml b/docker-compose.yml index be09816f7..7ba29a300 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,24 @@ services: - frontend: - build: - context: ./frontend/spec-trackr-app # Dockerfile이 위치한 경로 - dockerfile: frontend.dockerfile # 사용할 Dockerfile 이름 - - container_name: react_frontend # 컨테이너 이름 지정 + spec-trackr: + build: + context: ./frontend/spec-trackr-app + dockerfile: sta.dockerfile + ports: + - "3001:3001" # 고정 포트 매핑 + networks: + - spec-net + spectrackr-main: + build: + context: ./frontend/spectrackr-main + dockerfile: main.dockerfile ports: - - "3002:80" # 로컬 머신의 3002 포트를 컨테이너의 80번 포트에 연결 + - "3003:3003" # 고정 포트 매핑 + networks: + - spec-net + depends_on: + - spec-trackr - restart: unless-stopped # 컨테이너가 중지되었을 때 수동으로 중지하지 않은 경우 자동 재시작 +networks: + spec-net: + driver: bridge \ No newline at end of file diff --git a/frontend/spec-trackr-app/frontend.dockerfile b/frontend/spec-trackr-app/frontend.dockerfile deleted file mode 100644 index 9d71ceb1f..000000000 --- a/frontend/spec-trackr-app/frontend.dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -# Node.js 18 이미지에서 React 앱을 빌드 -FROM node:18 as build -# 의존성 설치 후 앱 코드 복사 후 npm run build로 정적 파일 생성 -WORKDIR /app - -# 환경변수 파일 복사 -COPY .env.production .env - -# 의존성 설치 -COPY package*.json ./ -RUN npm install -# 앱 소스 복사 -COPY public ./public -COPY src ./src - -# 빌드 -RUN npm run build - -# Nginx를 이용해 빌드된 정적 파일을 /usr/share/nginx/html로 -FROM nginx:alpine -COPY nginx/default.conf /etc/nginx/conf.d/default.conf -COPY --from=build /app/build /usr/share/nginx/html -EXPOSE 80 -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/frontend/spec-trackr-app/nginx/default.conf b/frontend/spec-trackr-app/nginx/default.conf deleted file mode 100644 index 80327094a..000000000 --- a/frontend/spec-trackr-app/nginx/default.conf +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen 80; - server_name localhost; - - root /usr/share/nginx/html; - index index.html; - - location / { - try_files $uri /index.html; - } -} diff --git a/frontend/spec-trackr-app/src/index.js b/frontend/spec-trackr-app/src/index.js index 185749669..f3e680618 100644 --- a/frontend/spec-trackr-app/src/index.js +++ b/frontend/spec-trackr-app/src/index.js @@ -2,7 +2,6 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; -import ComSp from "./com_sp"; import "./index.css"; import reportWebVitals from './reportWebVitals'; import 'bootstrap/dist/css/bootstrap.min.css'; diff --git a/frontend/spectrackr-main/app/page.tsx b/frontend/spectrackr-main/app/page.tsx index 196b5aa09..88be576a5 100644 --- a/frontend/spectrackr-main/app/page.tsx +++ b/frontend/spectrackr-main/app/page.tsx @@ -294,7 +294,7 @@ function HomePage() { transition={{ duration: 0.5, delay: 0.2 }} >