[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를 실행하는 환경을 손쉽게 설정할 수 있습니다.
참고 문헌:
- Docker 공식 문서: https://docs.docker.com/
- Node.js 공식 웹사이트: https://nodejs.org/