[typescript] 도커 컴포즈로 타입스크립트 앱과 데이터베이스 연동하기

도커 컴포즈를 사용하여 타입스크립트 앱과 데이터베이스를 연동하는 방법에 대해 알아보겠습니다.

도커 컴포즈란?

도커 컴포즈는 도커 애플리케이션을 정의하고 실행하기 위한 도구로, 여러 컨테이너를 하나의 애플리케이션으로 묶어 관리할 수 있습니다. 이를 통해 복잡한 멀티 컨테이너 애플리케이션을 쉽게 관리할 수 있습니다.

타입스크립트 앱과 데이터베이스 연동하기

먼저, 타입스크립트 애플리케이션과 데이터베이스를 도커 컴포즈로 연동하는 방법에 대해 알아보겠습니다.

1. 타입스크립트 앱을 Dockerfile로 작성

먼저, 타입스크립트 앱을 도커 이미지로 빌드하기 위해 Dockerfile을 작성합니다.

# Dockerfile

# 기반이 될 이미지 설정
FROM node:14

# 작업 디렉토리 설정
WORKDIR /usr/src/app

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

# 앱 소스 추가
COPY . .

# 앱 빌드
RUN npm run build

# 앱 실행
CMD [ "npm", "start" ]

2. 데이터베이스를 Dockerfile로 작성

데이터베이스도 마찬가지로 Dockerfile을 작성하여 도커 이미지로 빌드합니다. 여기서는 PostgreSQL을 예로 들겠습니다.

# Dockerfile

# 이미지 설정
FROM postgres:latest

# 환경 변수 설정
ENV POSTGRES_PASSWORD=password
ENV POSTGRES_DB=dbname
ENV POSTGRES_USER=user

3. 도커 컴포즈 파일 작성

앱과 데이터베이스를 함께 실행하기 위해 docker-compose.yml 파일을 작성합니다.

version: '3'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    build:
      context: ./db

4. 도커 컴포즈 실행

마지막으로, 작성한 도커 컴포즈 파일을 사용하여 애플리케이션과 데이터베이스를 실행합니다.

docker-compose up

이제 타입스크립트 앱과 데이터베이스가 함께 도커 컴포즈로 실행될 것입니다.

결론

도커 컴포즈를 사용하여 타입스크립트 앱과 데이터베이스를 쉽게 연동할 수 있습니다. 이를 통해 개발 환경을 쉽게 구축하고, 멀티 컨테이너 애플리케이션을 효율적으로 관리할 수 있습니다.

이상으로 도커 컴포즈로 타입스크립트 앱과 데이터베이스를 연동하는 방법에 대해 알아보았습니다.