도커를 활용한 자바스크립트 앱의 다중 환경 배포 방법

도커는 가상화 기술을 활용하여 애플리케이션을 컨테이너화하고, 이를 통해 애플리케이션의 배포와 관리를 용이하게 만들어줍니다. 이번 포스트에서는 도커를 사용하여 자바스크립트 앱을 다중 환경에 배포하는 방법을 알아보겠습니다.

1. 도커 이미지 생성하기

먼저, 도커 이미지를 생성해야 합니다. 도커 이미지는 애플리케이션의 실행에 필요한 모든 종속성과 설정을 포함하고 있습니다.

# 앱을 빌드하는 데 필요한 노드 이미지 사용
FROM node:12

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

# 앱 종속성 설치
COPY package*.json ./
RUN npm install

# 앱 소스 코드 복사
COPY . .

# 앱 빌드
RUN npm run build

# 앱 실행 명령어 등록
CMD [ "npm", "start" ]

위의 Dockerfile은 Node.js 12 버전의 이미지를 기반으로 하고, 앱의 종속성을 설치하고 빌드한 뒤, 앱을 실행하는 과정을 담고 있습니다.

2. 다중 환경을 위한 도커 이미지 빌드

다중 환경에 앱을 배포하기 위해서는 각 환경별로 다른 설정을 포함한 도커 이미지를 생성해야 합니다. 예를 들어, 개발 환경과 프로덕션 환경이 있다고 가정해봅시다.

2.1. 개발 환경 도커 이미지 빌드

docker build -t myapp:dev .

위의 명령어는 현재 디렉토리에서 Dockerfile을 사용하여 개발 환경 도커 이미지를 빌드합니다.

2.2. 프로덕션 환경 도커 이미지 빌드

docker build -t myapp:prod -f Dockerfile.prod .

위의 명령어는 Dockerfile.prod 파일을 사용하여 프로덕션 환경 도커 이미지를 빌드합니다.

3. 다중 환경 앱 배포

도커 이미지를 빌드한 뒤에는 해당 이미지를 활용하여 앱을 배포할 수 있습니다. 이때, 환경에 따라 올바른 도커 이미지를 선택하여 배포해야 합니다.

3.1. 개발 환경 앱 배포

docker run -d -p 3000:3000 myapp:dev

위의 명령어는 개발 환경 도커 이미지를 기반으로 앱을 배포하는 것입니다. 앱은 3000 포트로 실행됩니다.

3.2. 프로덕션 환경 앱 배포

docker run -d -p 80:80 myapp:prod

위의 명령어는 프로덕션 환경 도커 이미지를 기반으로 앱을 배포하는 것입니다. 앱은 80 포트로 실행됩니다.

마무리

도커를 활용하여 자바스크립트 앱을 다중 환경에 배포하는 방법을 알아보았습니다. 도커를 사용하면 애플리케이션을 컨테이너화하여 배포와 관리를 편리하게 할 수 있으며, 다중 환경에 적합한 이미지를 생성하여 배포할 수 있습니다. 더 많은 기능과 설정을 활용하고 싶다면 도커 공식 문서를 참고해보세요.

참고 자료