[typescript] 타입스크립트와 함께 사용하는 Docker Compose를 이용한 개발 및 테스트 환경 구성 사례

본 포스트에서는 타입스크립트(TypeScript) 프로젝트를 Docker Compose를 활용하여 개발 및 테스트할 수 있는 환경을 구성하는 방법에 대해 알아보겠습니다.

Docker Compose란 무엇인가요?

Docker Compose는 여러 개의 독립적인 컨테이너로 구성된 멀티 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. docker-compose.yml 파일을 사용하여 애플리케이션의 서비스, 네트워크 및 볼륨을 정의하고 Docker Compose 명령어를 통해 애플리케이션을 관리합니다.

타입스크립트 프로젝트의 Docker 파일 작성

우선 타입스크립트 프로젝트의 Docker 이미지를 빌드하기 위해 Dockerfile을 작성해야 합니다. 다음은 간단한 예시입니다.

# Dockerfile
FROM node:14

WORKDIR /app

COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

EXPOSE 3000
CMD ["npm", "start"]

위의 Dockerfile은 Node.js 14 이미지를 기반으로 타입스크립트 프로젝트를 빌드한 뒤, 3000 포트에서 애플리케이션을 실행합니다.

Docker Compose 설정 파일 작성

이어서 Docker Compose 설정 파일을 작성하여 여러 컨테이너를 동시에 실행하고 서비스 간의 네트워크를 구성할 수 있습니다. 다음은 docker-compose.yml 파일의 예시입니다.

version: '3'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
    volumes:
      - .:/app
      - /app/node_modules

위의 설정은 타입스크립트 애플리케이션을 포트 3000에서 실행하고 개발 중 소스 코드 변경을 감지하기 위해 볼륨을 마운트합니다.

Docker Compose로 서비스 실행

위의 설정이 완료되었으면 docker-compose up 명령어를 통해 Docker Compose를 실행하여 타입스크립트 애플리케이션을 빌드하고 실행할 수 있습니다.

docker-compose up

결론

이제 타입스크립트 프로젝트를 Docker Compose를 이용하여 쉽게 개발 및 테스트할 수 있는 환경을 구성했습니다. Docker Compose를 통해 멀티 컨테이너 애플리케이션을 쉽게 관리하고 환경을 구성할 수 있으며, 타입스크립트 프로젝트뿐만 아니라 다양한 프로젝트에 활용할 수 있습니다.

참고 자료

권장되는 사전 지식: Docker, TypeScript