[typescript] 타입스크립트와 도커를 이용한 API 서버 개발 방법
도커를 사용하면 간단한 명령어로 웹 서버를 설정하고 실행할 수 있으며, 타입스크립트는 정적 타입을 지원하여 안정적인 코드를 작성할 수 있도록 도와줍니다. 이번 포스트에서는 타입스크립트와 도커를 이용하여 API 서버를 개발하는 방법에 대해 알아보겠습니다.
목차
프로젝트 초기 설정
먼저, 프로젝트 디렉토리를 생성하고 아래와 같이 package.json
파일을 생성합니다.
{
"name": "typescript-docker-api-server",
"version": "1.0.0",
"scripts": {
"start": "node dist/index.js",
"build": "tsc",
"test": "jest"
},
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"@types/express": "^4.17.11",
"typescript": "^4.3.2",
"jest": "^27.0.5"
}
}
그리고 타입스크립트 설정 파일 tsconfig.json
을 아래와 같이 생성합니다.
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "./dist",
"strict": true
}
}
타입스크립트를 이용한 서버 개발
다음으로, Express를 이용하여 간단한 API 서버를 개발해보겠습니다.
// src/index.ts
import express from 'express';
const app = express();
const PORT = 3000;
app.get('/', (_, res) => {
res.send('Hello, TypeScript & Docker!');
});
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
위 코드를 실행하기 위해 npm install
로 필요한 의존성을 설치하고, npm run build
로 타입스크립트를 컴파일합니다.
도커를 이용한 서버 컨테이너화
이제 도커를 이용하여 서버를 컨테이너화합니다. 먼저 프로젝트 루트에 Dockerfile
을 생성합니다.
# Dockerfile
FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]
서버 실행과 테스트
모든 준비가 끝났습니다! 다음 명령어를 통해 도커 이미지를 빌드하고 컨테이너를 실행합니다.
docker build -t my-node-app .
docker run -p 3000:3000 my-node-app
웹 브라우저나 API 클라이언트를 통해 http://localhost:3000
에 접속하여 서버가 정상적으로 작동하는지 확인해보세요.
이제 타입스크립트와 도커를 이용하여 간단한 API 서버를 개발하는 방법에 대해 알아보았습니다. 원활한 개발을 위해 실시간 수정이 반영되도록 코드를 수정하고 환경을 구성할 수 있도록 도커와 타입스크립트를 적극적으로 활용해보시기 바랍니다.