[nodejs] Node.js 애플리케이션을 Docker 컨테이너로 패키징

Node.js는 많은 웹 애플리케이션에서 사용되는 인기 있는 런타임 환경 중 하나입니다. 여러분의 Node.js 애플리케이션을 Docker 컨테이너로 패키징하면 애플리케이션의 이식성과 확장성을 쉽게 개선할 수 있습니다. Docker 컨테이너는 실행 환경을 격리하고 표준화함으로써 애플리케이션을 다른 환경에서도 실행할 수 있도록 해줍니다. 이번 블로그에서는 Node.js 애플리케이션을 Docker 컨테이너로 패키징하는 방법에 대해 살펴보겠습니다.

1. Dockerfile 작성

Docker 컨테이너로 패키징하기 위해서는 먼저 프로젝트 디렉토리에 Dockerfile을 작성해야 합니다. Dockerfile은 컨테이너를 빌드하는 데 필요한 모든 설정과 명령을 정의합니다. 이 파일에는 Node.js를 설치하고 애플리케이션을 컨테이너 내부에 복사하는 등의 작업을 기술해야 합니다.

# 먼저 Node.js 이미지를 베이스 이미지로 설정
FROM node:14

# 애플리케이션 소스코드를 컨테이너 내부로 복사
WORKDIR /app
COPY package.json /app
COPY server.js /app

# 애플리케이션 종속성 설치
RUN npm install

# 애플리케이션 빌드
CMD ["node", "server.js"]

2. 컨테이너 빌드 및 실행

다음으로, Dockerfile이 있는 디렉토리에서 Docker 명령을 사용하여 컨테이너를 빌드하고 실행할 수 있습니다.

# Docker 이미지 빌드
docker build -t my-node-app .

# Docker 컨테이너 실행
docker run -p 3000:3000 my-node-app

위 명령을 통해 my-node-app이라는 이름으로 Docker 이미지를 빌드하고, 해당 이미지를 기반으로 컨테이너를 실행할 수 있습니다.

Node.js 애플리케이션을 Docker 컨테이너로 패키징하는 방법에 대해 간단히 살펴보았습니다. Docker를 이용하면 개발 환경과 프로덕션 환경 간의 일관성을 유지하고, 애플리케이션을 쉽게 배포하고 확장할 수 있습니다.

더 많은 정보와 실제 구현 예제는 Docker 공식 홈페이지(https://www.docker.com/)에서 확인할 수 있습니다.