Docker로 React 프로젝트 컨테이너 만들기
# 노드 이미지를 최신 버전으로 가져옴 FROM node:latest as build

Author
Younggun Park
Frontend engineer and builder · Seoul, South Korea
I'm building Vision AI products at P2ACH AI, writing about frontend systems, AI tooling, and the quiet parts of shipping.
TL;DR
# 노드 이미지를 최신 버전으로 가져옴 FROM node:latest as build
On this page
0. 도커가 무엇인가?
도커(Docker)는 컨테이너 기반의 가상화 플랫폼으로, 애플리케이션을 더 쉽고 효율적으로 개발, 배포, 실행할 수 있도록 도와줍니다. 도커로 작성된 컨테이너는 격리된 환경에서 애플리케이션을 실행하며, 호스트 환경에 구애받지 않고 서버를 안정적으로 실행할 수 있습니다.
0.1. 도커 설치
도커를 설치하기 위해서는 공식 도커 웹사이트에서 다운로드 받으실 수 있습니다. 아래 링크에서 운영체제에 맞는 버전을 선택하시면 됩니다.
1. 개발용 도커파일
Dockerfile을 루트 폴더에 작성
Shell
# 노드 이미지를 최신 버전으로 가져옴
FROM node:latest as build
# working directory 지정
WORKDIR /app
# dependency 설치
COPY . .
RUN yarn install
# 실제 환경 배포시 yarn build를 사용한다. 오늘 작성중인 Dockerfile은 개발용으로 작성되었다. (로컬 파일을 컨테이너화 한것과 동일함)
# 앱 실행
CMD ["yarn", "start"]그냥 도커라는 컨테이너를 node 기반으로 만들고 프로젝트를 복-붙 해서 명령어를 실행시킨다는 이야기이다.
2. Docker 이미지 생성 및 실행
2.1. 커맨드 라인으로 빌드
Shell
# example-fe라는 이름으로 도커 이미지 빌드
docker build -t example-fe .
# 도커 이미지 실행 (3000포트로), 만약 실행중인 도커 컨테이너가 있다면 중지 후 다시 시작
docker run -v ${PWD}:/app -p 3000:3000 --rm example-fe2.2.(Option) Docker Compose 작성 및 실행 (루트에 docker-compose.yml 생성)
도커 컴포즈는 여러 개의 컨테이너를 효율적으로 관리하기 위한 도구입니다. 도커 컴포즈를 사용하면 여러 개의 컨테이너를 쉽게 실행하고 관리할 수 있습니다. 도커 컴포즈를 설치하려면 아래 링크를 참고하세요.
https://docs.docker.com/compose/install/
YAML
version: "3.7"
services:
example:
container_name: example-fe
build:
context: .
dockerfile: Dockerfile
volumes:
- ".:/app"
ports:
- "3000:3000"
environment:
- NODE_ENV=developmentShell
# 커맨드라인에서
docker-compose up -d --build3. 예상 결과

reference
https://leonkong.cc/posts/dockerizing-react-app.html
FAQ
Common follow-up questions
- 이 글의 핵심은 무엇인가요?
- # 노드 이미지를 최신 버전으로 가져옴 FROM node:latest as build
- 실무적으로 먼저 볼 포인트는 무엇인가요?
- 도커(Docker)는 컨테이너 기반의 가상화 플랫폼으로, 애플리케이션을 더 쉽고 효율적으로 개발, 배포, 실행할 수 있도록 도와줍니다. 도커로 작성된 컨테이너는 격리된 환경에서 애플리케이션을 실행하며, 호스트 환경에 구애받지 않고 서버를 안정적으로 실행할 수 있습니다.
Tags
Related posts
View all writingNext.js 마이그레이션으로 고생했는데, 새로운 기술은 시간과 노력을 충분히 들일 수 있을 때 시작. 급하면 익숙한것 먼저 사용한 후 다음에 바꾸는 것을 추천. 기술을 공부하고 싶으면 사용하는 것도 좋을듯.
Dec 7, 2023하루종일 Webstorm을 잡고 Next.js 버전 문제, 쿠키 모듈 수정 등 여러가지 시도를 해봤으나 답을 알 수 없는 상황에서 오늘 올라온 스택 오버플로우의 질문과 답변으로 해결됐다.
Oct 17, 2023