[docker] react 프로젝트 도커 이미지 빌드 / 컨테이너 실행

정혜인·2024년 2월 15일

클라우드

목록 보기
2/15
post-thumbnail

프로젝트를 할 때 도커를 사용하는데 (보통 이미지 빌드는 프로젝트 할때 한번씩 하니) 할 때마다 명령어나 내용을 잊어버려서 내가 자주 사용하는 코드를 작성해두려 한다.

먼저 프로젝트 루트 폴더에 Dockerfile을 생성해준다.
확장자 명 등 없이 그냥 "Dockerfile"로 파일을 만들어주면 된다.

// Dockerfile

FROM node:14

WORKDIR /app
COPY package.json .
RUN npm install
COPY . .

EXPOSE 3000

CMD ["npm", "start"]

파일에 위처럼 넣어준다.

  • FROM은 베이스 이미지를 지정해준다.
    node:14로 되어있지만 때에 따라 버전을 바꾸거나 다른 베이스 이미지를 사용해주면 된다.
  • WORKDIR는 작업 디렉토리(Working Directory) 를 설정한다.
    보통 나는 /app으로 사용한다.
  • COPY는 Host 내에 있는 파일 또는 디렉토리를 컨테이너의 파일시스템으로 복사해준다.
    COPY (1) (2)라고 되어있다면, (1)의 파일을 (2)로 복사해준다는 것이다.
  • RUN은 command 를 실행(run)하여 새 이미지에 포함시켜준다.(이미지 생성 전 가장 먼저 해주어야 하는 일이다.)
    내 프로젝트는 보통 npm을 사용하므로 npm install을 해준다.
  • EXPOSE는 노출할 포트 번호를 지정해준다.
    나는 보통 3000으로 사용하기에 3000으로 작성해주었다.
  • CMD는 컨테이너가 시작될 때 실행할 커맨드를 지정해준다.

    참고로 RUN 은 이미지를 빌드할 때 실행되는 것이고
    CMD 는 이미 만들어진(빌드 완료된) 이미지로부터 도커 컨테이너를 시작할 때 실행되는 것이다.

이외에도 많은 명령어가 있지만 이정도만 써줘도 기본 세팅에는 무리가 없다.


이렇게 도커 파일을 만들어서 저장해준 다음, 이 파일 내용을 기반으로 도커 이미지를 생성해준다.

docker build -f Dockerfile -t (이미지명) .

프로젝트 루트폴더의 위치에서 위 명령어를 입력해주면 도커 이미지가 빌드된다.
(시간은 좀 걸린다.)


도커 이미지가 생성되었다면 컨테이너를 실행해주면 된다.

docker run -d -p 3000:3000 (이미지명)

위 명령어를 입력해주면 localhost:3000에서 잘 동작하는 것을 확인할 수 있다.
명령어 의미는 벨로그 확인

0개의 댓글