[typescript] 도커와 타입스크립트를 사용하여 멀티 환경 배포 방식 적용하기
도커는 애플리케이션을 컨테이너로 패키징하여 실행하는 오픈 소스 플랫폼으로, 멀티 환경 배포에 매우 유용합니다. 타입스크립트는 자바스크립트에 정적 타입을 추가한 언어로, 더 안전하고 생산적인 개발을 가능하게 합니다. 이번 게시물에서는 이 두 기술을 함께 사용하여 멀티 환경에서의 배포 방식을 알아보겠습니다.
1. 타입스크립트 프로젝트 설정
먼저, 타입스크립트 프로젝트를 설정합니다. tsconfig.json
파일을 통해 타입스크립트 컴파일러 설정을 정의할 수 있습니다. 아래는 간단한 tsconfig.json
예제입니다.
{
"compilerOptions": {
"target": "ES2018",
"module": "commonjs",
"outDir": "dist",
"strict": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
2. Dockerfile 작성
다음으로, 프로젝트 루트에 Dockerfile
을 작성합니다. Dockerfile
에는 애플리케이션을 실행하는 데 필요한 환경과 의존성을 정의합니다.
# Docker 이미지 설정
FROM node:14-alpine
# 앱 디렉토리 생성
WORKDIR /usr/src/app
# 의존성 설치
COPY package*.json ./
RUN npm install
# 앱 소스 추가
COPY . .
# 애플리케이션 빌드
RUN npm run build
# 앱 실행
CMD [ "node", "./dist/index.js" ]
3. Docker Compose를 이용한 멀티 환경 배포
마지막으로, 멀티 환경 배포를 위해 Docker Compose를 사용합니다. docker-compose.yml
파일을 통해 여러 컨테이너로 구성된 애플리케이션을 쉽게 관리할 수 있습니다.
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
environment:
NODE_ENV: production
db:
image: "mongo:latest"
ports:
- "27017:27017"
위 예제에서 app
서비스는 우리가 작성한 애플리케이션을 실행하고, db
서비스는 MongoDB를 실행합니다.
이제 위의 설정을 통해, 타입스크립트로 작성한 애플리케이션을 도커를 활용하여 멀티 환경에서 배포할 수 있습니다. 본 글에서 다룬 내용은 간단한 예제일 뿐이지만, 실제 프로젝트에 적용하여 보다 안정적이고 확장 가능한 배포 환경을 구축할 수 있습니다.