이 기술 블로그에서는 Node.js 애플리케이션을 Docker 이미지로 관리하는 방법에 대해 알아보겠습니다. Docker는 컨테이너화된 애플리케이션을 쉽게 관리하고 배포할 수 있는 플랫폼으로, Node.js 애플리케이션을 Docker로 패키징하는 것은 매우 효율적입니다.
1. Dockerfile 작성
먼저, Node.js 애플리케이션을 Docker 이미지로 빌드하기 위해 Dockerfile을 작성해야 합니다. 아래는 간단한 Node.js 애플리케이션의 Dockerfile 예시입니다.
# 기본 이미지
FROM node:14
# 앱 디렉토리 생성
WORKDIR /usr/src/app
# 앱 의존성 설치
COPY package*.json ./
RUN npm install
# 앱 소스 추가
COPY . .
# 앱 실행
CMD [ "node", "app.js" ]
위 예시에서는 Node.js 14 버전을 기반으로 하는 이미지를 사용하고, 애플리케이션을 /usr/src/app
디렉토리에 설치하고 실행하는 과정을 정의하고 있습니다.
2. Docker 이미지 빌드
작성한 Dockerfile을 사용하여 Node.js 애플리케이션의 Docker 이미지를 빌드할 수 있습니다. 아래 명령어를 사용하여 Docker 이미지를 빌드합니다.
docker build -t my-node-app .
위 명령어에서 -t
옵션은 이미지의 태그를 지정하는데 사용되며, my-node-app
은 원하는 태그로 변경할 수 있습니다.
3. Docker 컨테이너 실행
이제 빌드한 Docker 이미지를 사용하여 컨테이너를 실행할 수 있습니다. 아래 명령어를 사용하여 Node.js 애플리케이션을 실행합니다.
docker run -p 3000:3000 my-node-app
위 명령어에서 -p
옵션은 호스트와 컨테이너의 포트를 매핑하는데 사용됩니다. 따라서, Node.js 애플리케이션은 호스트의 3000번 포트로 노출됩니다.
Node.js 애플리케이션을 Docker 이미지로 관리하면 애플리케이션의 배포와 확장이 쉬워지며, 환경 일관성을 유지할 수 있습니다.
이상으로 Node.js 애플리케이션의 Docker 이미지 관리에 대해 알아보았습니다. Docker를 사용하여 Node.js 애플리케이션을 효율적으로 관리할 수 있습니다.
참고 문헌:
- Docker 공식 문서: https://docs.docker.com/
- Node.js 공식 문서: https://nodejs.org/en/docs/