From 68ff497e58fd33cca6c4e30ec86e39583d002b9a Mon Sep 17 00:00:00 2001 From: ah9mon Date: Tue, 26 Sep 2023 13:39:20 +0900 Subject: [PATCH] Chore: create Dockerfile for CI/CD --- Dockerfile | 25 ------------------------- client/Dockerfile | 22 ++++++++++++++++++++++ nginx.conf | 0 3 files changed, 22 insertions(+), 25 deletions(-) delete mode 100644 Dockerfile create mode 100644 client/Dockerfile delete mode 100644 nginx.conf diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d81ed12..0000000 --- a/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM nginx - -# root 에 app 폴더를 생성 -RUN mkdir /app - -# work dir 고정 -WORKDIR /app - -# work dir 에 build 폴더 생성 /app/build -RUN mkdir ./build - -# host pc의 현재경로의 build 폴더를 workdir 의 build 폴더로 복사 -ADD ./build ./build - -# nginx 의 default.conf 를 삭제 -RUN rm /etc/nginx/conf.d/default.conf - -# host pc 의 nginx.conf 를 아래 경로에 복사 -COPY ./nginx.conf /etc/nginx/conf.d - -# 80 포트 오픈 -EXPOSE 80 - -# container 실행 시 자동으로 실행할 command. nginx 시작함 -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/client/Dockerfile b/client/Dockerfile new file mode 100644 index 0000000..4ee02d6 --- /dev/null +++ b/client/Dockerfile @@ -0,0 +1,22 @@ +# 가져올 이미지를 정의 +FROM node:18 +# 경로 설정하기 +WORKDIR /app +# package.json 워킹 디렉토리에 복사 (.은 설정한 워킹 디렉토리를 뜻함) +COPY package.json . +# 명령어 실행 (의존성 설치) +RUN npm install +# 현재 디렉토리의 모든 파일을 도커 컨테이너의 워킹 디렉토리에 복사한다. +COPY . . + +# 각각의 명령어들은 한줄 한줄씩 캐싱되어 실행된다. +# package.json의 내용은 자주 바뀌진 않을 거지만 +# 소스 코드는 자주 바뀌는데 +# npm install과 COPY . . 를 동시에 수행하면 +# 소스 코드가 조금 달라질때도 항상 npm install을 수행해서 리소스가 낭비된다. + +# 3000번 포트 노출 +EXPOSE 3000 + +# npm start 스크립트 실행 +CMD ["npm", "start"] diff --git a/nginx.conf b/nginx.conf deleted file mode 100644 index e69de29..0000000