[nodejs] Docker 컨테이너에서 Node.js 실행 환경 설정

Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포하기 위한 플랫폼을 제공합니다. 이제 Docker를 사용하여 Node.js 애플리케이션을 실행하는 환경을 설정해보겠습니다.

단계 1: Node.js 애플리케이션 생성

먼저 로컬 환경에서 Node.js 애플리케이션을 생성합니다. 다음은 간단한 Node.js 애플리케이션의 예시입니다.

// app.js

const http = require('http');

const hostname = '0.0.0.0';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

단계 2: Dockerfile 작성

다음으로, Node.js 애플리케이션을 실행하기 위한 Docker 이미지를 만들기 위해 Dockerfile을 작성해야 합니다.

# 사용할 기반 이미지
FROM node:14

# 앱 디렉토리 생성
WORKDIR /usr/src/app

# 의존성 설치
COPY package*.json ./
RUN npm install

# 앱 소스 복사
COPY . .

# 앱 노출 포트
EXPOSE 3000

# 앱 실행
CMD [ "node", "app.js" ]

단계 3: Docker 이미지 빌드 및 실행

이제 Dockerfile을 사용하여 Docker 이미지를 빌드하고, 해당 이미지를 사용하여 컨테이너를 실행할 수 있습니다.

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

# Docker 컨테이너 실행
$ docker run -p 3000:3000 -d node-docker

이제, 해당 Docker 컨테이너에서 Node.js 애플리케이션이 성공적으로 실행됩니다.

위의 단계를 따라 진행하면 Docker 컨테이너에서 Node.js를 실행하는 환경을 손쉽게 설정할 수 있습니다.

참고 문헌: