[typescript] 타입스크립트를 활용한 도커 컨테이너화된 Node.js 애플리케이션 배포 사례

이번 포스트에서는 타입스크립트를 사용하여 Node.js 애플리케이션을 개발한 후, 해당 애플리케이션을 도커 컨테이너로 패키징하고 배포하는 과정에 대해 살펴보겠습니다.

타입스크립트와 Node.js

타입스크립트는 Microsoft가 개발한 오픈 소스 프로그래밍 언어로, JavaScript에 강력한 정적 타입 기능을 추가한 언어입니다. Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임으로, 서버 사이드 애플리케이션을 개발할 때 널리 사용됩니다.

타입스크립트로 Node.js 애플리케이션 개발하기

타입스크립트로 Node.js 애플리케이션을 개발할 때는 먼저 타입스크립트를 설치해야 합니다. 이 후 타입스크립트로 작성된 소스 코드를 JavaScript로 컴파일하여 Node.js에서 실행할 수 있습니다.

npm install -g typescript

위 명령을 통해 전역으로 타입스크립트를 설치할 수 있습니다. 그리고 나서 .ts 확장자를 가진 타입스크립트 파일을 작성하고, 다음 명령을 사용하여 JavaScript 파일로 컴파일할 수 있습니다.

tsc app.ts

도커 컨테이너화된 Node.js 애플리케이션 배포

도커는 컨테이너 기반의 오픈 소스 가상화 플랫폼으로, 애플리케이션을 컨테이너화하여 효율적으로 배포 및 실행할 수 있습니다. 타입스크립트로 개발된 Node.js 애플리케이션을 도커 컨테이너로 패키징하고 배포하기 위해서는 먼저 Dockerfile을 작성해야 합니다.

아래는 도커 컨테이너화된 Node.js 애플리케이션의 Dockerfile 예시입니다.

# 도커 이미지 생성을 위한 베이스 이미지
FROM node:14

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

# 앱 의존성 설치
COPY package.json .
COPY package-lock.json .
RUN npm install

# 앱 소스 복사
COPY . .

# 앱 빌드
RUN npm run build

# 앱 실행
CMD [ "node", "dist/app.js" ]

위의 Dockerfile에는 먼저 Node.js를 위한 공식 이미지를 베이스 이미지로 사용하고, 앱의 소스코드와 패키지 파일을 이미지에 복사하고 의존성을 설치한 후, 빌드 및 실행하는 과정이 포함되어 있습니다.

도커 이미지를 빌드하고 컨테이너를 실행하는 방법은 다음과 같습니다.

docker build -t my-node-app .
docker run -p 3000:3000 -d my-node-app

위 명령어를 통해 먼저 도커 이미지를 빌드한 후, 해당 이미지를 기반으로 컨테이너를 실행할 수 있습니다.

이제 타입스크립트를 사용하여 Node.js 애플리케이션을 도커 컨테이너로 패키징하고 배포하는 방법에 대해 알아보았습니다.

참고 자료