express.js 샘플 앱을 도커 이미지로 만들고, 도커 컴포즈로 실행하는 방법을 알아보겠습니다.
앱 만들기
npx express-generator --view=pug myapp
먼저 express-generator을 사용하여 샘플 앱을 만들어 줍니다.
https://expressjs.com/en/starter/generator.html
Express application generator
Express application generator Use the application generator tool, express-generator, to quickly create an application skeleton. You can run the application generator with the npx command (available in Node.js 8.2.0). $ npx express-generator For earlier Nod
expressjs.com
Dockerfile 생성
touch Dockerfile
vim Dockerfile
FROM node:alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
# 노드 알파인 이미지를 기본 이미지로 사용하고
# 현재 폴더의 내용을 컨테이너로 복사하고
# express.js에서 설정된 3000번 포트를 exprose 하는 코드입니다.
도커파일을 생성하고 위의 내용을 붙여넣습니다.
도커 컴포즈 작성
상위 디렉토리로 이동해 다음과 같은 docker-compose.yml을 작성해 줍니다.
# ./myapp의 도커파일을 빌드하고
# 컨테이너 시작시 npm start 커맨드를 실행합니다.
# 3000번 포트를 외부로 노출합니다.
services:
express-myapp:
build: ./myapp
command : npm start
container_name: express-myapp
ports:
- 3000:3000
도커 컴포즈 실행
도커 컴포즈 실행 후 http://localhost:3000/ 을 열면 express 앱이 잘 작동하고 있는 것을 볼 수 있습니다.
'Docker' 카테고리의 다른 글
Docker에 Jelllyfin 미디어 서버 구축하기(docker-compose) (0) | 2024.04.24 |
---|---|
리눅스(Ubuntu)에 도커(엔진) 설치, 세팅하기 (0) | 2024.04.23 |