From 8d696267d7354503e34c40a692409d9f4764d894 Mon Sep 17 00:00:00 2001 From: Hyein Jeong Date: Tue, 26 Nov 2024 19:57:45 +0900 Subject: [PATCH] =?UTF-8?q?[BE][Chore]=20FE=20=EC=BB=A8=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=84=88=20Workdir=20=EC=83=9D=EC=84=B1=20=EC=95=88=EB=90=98?= =?UTF-8?q?=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - FE 컨테이너 Workdir 생성 안되는 문제 해결 - BE express 참조 문제 해결 --- backend/Dockerfile | 8 ++++---- docker-compose.yml | 10 ++++++++-- frontend/Dockerfile | 14 +++++++------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 02289d16..3122d97e 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,8 +1,8 @@ # 1. 베이스 이미지 설정 (Node.js 18 버전 사용) FROM node:18 -# 2. 작업 디렉토리 설정 (백엔드 디렉토리) -WORKDIR /backend-app +# 2. 작업 디렉토리 설정 +WORKDIR /app # 3. root 폴더의 package.json, pnpm-lock.yaml, pnpm-workspace.yaml 파일을 복사 COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ @@ -14,10 +14,10 @@ RUN npm install -g pnpm RUN pnpm install # 6. backend 폴더를 컨테이너로 복사 -COPY backend /backend-app/backend +COPY backend /app/backend # 7. 작업 디렉토리 backend로 이동 -WORKDIR /backend-app/backend +WORKDIR /app/backend # 8. backend 의존성 설치 RUN pnpm install diff --git a/docker-compose.yml b/docker-compose.yml index 9f556128..8c3e8101 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,7 +9,9 @@ services: networks: - app-network volumes: - - ./backend:/backend-app + - .:/app + - /app/node_modules + - /app/backend/node_modules frontend: build: @@ -18,7 +20,11 @@ services: networks: - app-network volumes: - - ./frontend:/frontend-app + - .:/app + - /app/node_modules + - /app/frontend/node_modules + depends_on: + - backend nginx: image: nginx:alpine diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 53992362..d61babea 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,8 +1,8 @@ # 1. 베이스 이미지 설정 (Node.js 18 사용) FROM node:18 AS builder -# 2. 작업 디렉토리 설정 (프론트엔드 디렉토리) -WORKDIR /frontend-app +# 2. 작업 디렉토리 설정 +WORKDIR /app # 3. root의 패키지 파일 복사 COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ @@ -14,18 +14,18 @@ RUN npm install -g pnpm RUN pnpm install # 6. 프론트엔드 폴더 복사 -COPY frontend /frontend-app/frontend +COPY frontend /app/frontend # 7. 작업 디렉토리 변경 -WORKDIR /frontend-app/frontend +WORKDIR /app/frontend # 8. frontend 의존성 설치 RUN pnpm install -# 9. 빌드 실행 +# 8. 빌드 실행 RUN pnpm build -# 10. Nginx 이미지를 사용해 정적 파일 제공 +# 9. Nginx 이미지를 사용해 정적 파일 제공 FROM nginx:alpine -COPY --from=builder /frontend-app/frontend/dist /usr/share/nginx/html +COPY --from=builder /app/frontend/dist /usr/share/nginx/html EXPOSE 80