본문 바로가기
Cloud

node js 구축하기

by tankwoong 2023. 10. 6.
반응형

 Node.js와 Express.js를 설치하고 새로운 Express 애플리케이션을 초기화

 


curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -:

curl 명령어를 사용하여 NodeSource의 공식 설치 스크립트를 다운로드하고, -s 옵션은 조용한 모드로 실행하고, -L 옵션은 리다이렉션을 따르며, sudo -E bash -를 사용하여 스크립트를 실행합니다.
이 명령어는 Node.js 16.x를 설치하기 위한 NodeSource 저장소를 시스템에 추가합니다.


sudo apt-get install -y nodejs:

apt-get 패키지 관리자를 사용하여 Node.js를 설치합니다.
-y 옵션은 설치 중에 나타나는 모든 프롬프트에 "yes"로 자동 응답하도록 합니다.

 

sudo npm install -g express:

npm (Node Package Manager)을 사용하여 Express.js를 전역으로(-g) 설치

 

sudo npm install -g express-generator:

npm을 사용하여 Express.js 애플리케이션 생성기를 전역으로(-g) 설치합니다.

 

npm init -y:

현재 디렉터리에서 Node.js 프로젝트를 초기화합니다. -y 옵션을 사용하면 모든 설정에 기본값 "yes"로 응답합니다.

 

root@ubuntu:/home/ubuntu/dockertest# npm init -y
Wrote to /home/ubuntu/dockertest/package.json:

{
  "name": "dockertest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

 

npm i express:

현재 프로젝트에 Express.js를 설치합니다. i는 install의 단축 형태입니다.
이러한 단계를 수행하면 Node.js와 Express.js를 설치하고 새로운 Express 애플리케이션을 시작할 준비가 된 상태입니다. Express.js를 사용하여 웹 애플리케이션을 개발할 수 있게 됩니다.

 

nano app.js

const express = require('express');
const app = express();
var port = 7000;
app.get('/',(req,res) => {
        res.send('hello world by node.js');
});

app.listen(port,(req,res) => {
        console.log('hello wolrd test is running now on' + p>
});

nano Dockerfile


FROM node:16-alpine:

 

이 줄은 공식 Node.js Docker 이미지를 기반으로 하는 것을 나타냄

Alpine Linux 기반의 가볍고 최소한의 운영체제가 설치된 이미지를 사용하여 Node.js 환경을 설정

WORKDIR /app:

 

현재 작업 디렉토리를 /app으로 설정합니다. 이 디렉터리는 애플리케이션 파일을 저장할 곳입니다.

COPY package*.json ./: 

 

호스트 시스템에서 현재 디렉터리의 package.json 및 package-lock.json 파일을 컨테이너의 /app 디렉터리로 복사

이후 npm install 명령을 실행하여 종속성을 설치

RUN npm install:

필요한 Node.js 종속성을 설치

이 명령은 /app 디렉터리에서 실행됩니다.

COPY app.js./: 

 

호스트 시스템에서 현재 디렉터리의 app.js 파일을 컨테이너의 /app 디렉터리로 복사

ENTRYPOINT ["node", "app.js"]: 

컨테이너가 시작될 때 실행되어야 하는 명령을 지정

이 경우 Node.js 애플리케이션인 app.js를 실행

이것은 컨테이너가 시작되면 실행되는 명령

이 Dockerfile을 사용하면 Node.js 애플리케이션을 Docker 컨테이너로 패키징하고 실행할 수 있고
Docker 컨테이너를 빌드하고 실행하기 위해 Docker 명령어를 사용할 수 있다.

 

접속하기 

docker run -d -p 8080:7000 node.js:1.0

로그 확인 

ubuntu@ubuntu:~/dockertest$ docker logs 8b
hello wolrd test is running now on7000

 

반응형