Infra/CI-CD

배포 - 도커를 통해 실행 시킬 간단한 Node.js 서버 만들기

Surge100 2022. 12. 25. 13:58

NodeJS공식 홈페이지에서 도커를 이용하여 NodeJS를 이용하는 예시부분을 사용하여 도커를 실전에 도입하는 연습을 한다.

 

https://nodejs.org/ko/docs/guides/nodejs-docker-webapp/

 

Node.js 웹 앱의 도커라이징 | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

- Dockerfile을 어떤식으로 작성하는지 중점적으로 다룬다.

FROM node:10

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY ..

EXPOSE 8080
CMD["node","server.js"]

 

도커 컨테이너 안에서 기본적인 Node.js앱을 실행해본다.

 

1. Node.js앱 만들기

2. package.json 만들기 (npm, init)

{
	"name" : "docker_web_app",
    "version" : "1.0.0",
    "description" : "Node.js on Docker",
    "author" : "surge <suge@example.com>"
    "main" : "server.js",
    "scripts" : {
    	"start" : "node server.js"
    },
    "dependencies":{
    	"express" : "^4.16.1"
    }
}

 

3.server.js(시작점) 만들기

const express = require("express");

//Constants
const PORT = 8070;

//App
const app = express();
app.get("/", (req, res) => {
  res.send("Hello World");
});

app.listen(PORT);
console.log(`Running on http://${HOST}`);

 

이렇게 해서 기본적인 Node.js 어플리케이션을 완성했다. 이제 이 Node.js 앱을 도커 환경에서 실행하기 위해서 도커와 관련된 부분을 만든다.

 

[출처 -  https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%8F%84%EC%BB%A4-ci/dashboard]