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