[Docker + node.js] node.js 애플리케이션 Dokcer로 배포해보기

찐찐·2023년 7월 12일
0

Dockerfile 작성

FROM node:16
  • FROM : 베이스 이미지
    • node:16이 LTS 버전이므로 node:16 기준
WORKDIR /server
  • 작업 DIR 설정한다. 없으면 새로 생성됨
COPY [<src>, <dest>]
  • COPY 키워드는 이미지에 필요한 파일을 넣는 작업이다.
    • src : 이미지에 복사해서 넣을 파일
      • 콤마를 사용해서 여러 개를 넣을 수도 있다.
    • dest : 파일을 복사할 위치
  • 모든 작업을 마치고 나면 COPY . . 로 모든 파일들을 이미지에 넣어줘야 한다.
CMD ["node", "app.js"]
  • 애플리케이션 실행 명령어

Docker image build

docker build -t repo/imageName .
  • 도커는 이미지 빌드 시 Dockerfilecontext를 사용해서 이미지를 빌드한다.
  • PATH | URL | - 세 가지 중 무엇으로 이미지를 만들건지 고를 수 있는데, context를 어디서 찾을지 지정해주는 역할을 한다
  • -t : name:tag 지정, 태그는 미지정시 자동으로 lastest
  • macOS랑 linux랑 플랫폼이 달라서 오류가 나므로 --platform amd64 를 줘서 플랫폼을 맞춰줘야 macOS → linux 실행 시 오류가 나지 않는다

Docker push/pull

DockerHub나 GCR 등 도커 이미지 레포지터리에 이미지를 올리고, 이미지를 받을 수 있다.

docker push repo/imageName
docker pull repo/imageName
  • tag를 별도로 지정해주지 않으면 자동으로 latest 인 이미지를 가져온다

Docker run

Docker 이미지를 통해 컨테이너를 새로 만들고 싶은 서버에 들어가서 명령어를 입력하면 된다.

docker run -d -p 5000:5000 repo/imageName
  • -p: 열어줄 port 넘버를 설정한다.
  • -d: 컨테이너가 백그라운드에서 실행되고 실행된 컨테이너의 ID를 출력하게 해준다.

참고

profile
백엔드 개발자 지망생

0개의 댓글