Node.js 웹 앱 도커화
Nodejs 애플리케이션에 대한 도커 이미지를 생성합니다. Docker 이미지는 앱을 실행하는 데 필요한 환경과 번들로 제공하는 독립형 단위입니다. 더 이상 라이브러리, 종속성, 패키지 다운로드, 구성 파일 조작 등을 설치할 필요가 없습니다. 머신이 Docker를 지원하는 경우 Docker화된 앱을 실행할 수 있습니다.
이 튜토리얼에서는 먼저 새로운 간단한 Node Js 애플리케이션을 생성해 보겠습니다.
간단한 Node.js 앱 만들기
아래 명령을 사용하여 간단한 nodejs 애플리케이션을 만드십시오.
mkdir nodejs_docker
cd nodejs_docker
npm init
이름을 nodejs_docker로 설정합니다. 다른 옵션의 경우 Enter 키를 눌러 기본값을 확인하십시오.
Npm은 앱의 종속성을 저장할 package.json 파일을 생성합니다. Express 프레임워크를 첫 번째 종속성으로 추가해 보겠습니다.
npm install express --save
파일은 이제 다음과 같아야 합니다.
{
"name": "nodejs_docker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}
이제 nodejs_docker 앱을 제공할 간단한 HTTP 서버로 index.js 파일을 생성합니다. 이 코드는 서버를 실행하고 서버가 실행 중이라는 확인 메시지를 표시합니다.
//Load express module with `require` directive
var express = require('express')
var app = express()
//Define request response in root URL (/)
app.get('/', function (req, res) {
res.send('Hello World!')
})
//Launch listening server on port 8081
app.listen(8081, function () {
console.log('app listening on port 8081!')
})
앱 실행
애플리케이션을 실행할 준비가 되었습니다.
node index.js
그것을 보려면 브라우저에서 http://localhost:8081/로 이동하십시오.
Node.js 애플리케이션 도커화
노드 응용 프로그램이 시작되고 실행되면 우리가 취할 수 있는 다음 단계는 이 응용 프로그램을 도커화하는 것입니다. 이렇게 하려면 시스템에 Docker를 설치하십시오. 그런 다음 코드베이스에 DockerFile
라는 빈 파일을 만듭니다.
코드 편집기에서 DockerFile
를 엽니다. 이제 도커 파일을 만들 수 있습니다.
mkdir nodejs_docker
cd nodejs_docker
npm init
npm install express --save
{
"name": "nodejs_docker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}
//Load express module with `require` directive
var express = require('express')
var app = express()
//Define request response in root URL (/)
app.get('/', function (req, res) {
res.send('Hello World!')
})
//Launch listening server on port 8081
app.listen(8081, function () {
console.log('app listening on port 8081!')
})
애플리케이션을 실행할 준비가 되었습니다.
node index.js
그것을 보려면 브라우저에서 http://localhost:8081/로 이동하십시오.
Node.js 애플리케이션 도커화
노드 응용 프로그램이 시작되고 실행되면 우리가 취할 수 있는 다음 단계는 이 응용 프로그램을 도커화하는 것입니다. 이렇게 하려면 시스템에 Docker를 설치하십시오. 그런 다음 코드베이스에 DockerFile
라는 빈 파일을 만듭니다.
코드 편집기에서 DockerFile
를 엽니다. 이제 도커 파일을 만들 수 있습니다.
FROM node:16
/app
로 작업 디렉토리를 만듭니다. 도커 컨테이너 안에 폴더가 생성됩니다.WORKDIR /app
/app
디렉토리에 복사하고 종속성을 설치합니다. 먼저 package.json
를 추가하고 나중에 npm install
를 실행하면 package.json
파일을 변경해도 Docker가 종속성을 다시 설치할 필요가 없습니다.COPY package.json /app
RUN npm ci --only=production && npm cache clean --force
COPY . /app
CMD node index.js
EXPOSE 8081
Summing up, the whole Dockerfile should look like this:
FROM node:12-alpine3.14
WORKDIR /app
COPY package.json /app
RUN npm ci --only=production && npm cache clean --force
COPY . /app
CMD node index.js
EXPOSE 8081
Docker 이미지 빌드
지침이 준비되면 남은 작업은 docker build 명령을 실행하고 -t 매개변수로 이미지 이름을 설정하고 Dockerfile이 있는 디렉터리를 선택하는 것입니다.
docker build -t nodejs_docker .
Docker 컨테이너 실행
응용 프로그램이 이미지에 구워졌습니다. 저녁 시간! 다음 명령을 실행하여 컨테이너를 시작하고 동일한 포트 8081을 사용하여 호스트에 게시합니다.
docker run -p 8081:8081 nodejs_docker
감사합니다
Reference
이 문제에 관하여(Node.js 웹 앱 도커화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/sanjaysinghrajpoot/dockerizing-a-nodejs-web-app-id6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
docker build -t nodejs_docker .
응용 프로그램이 이미지에 구워졌습니다. 저녁 시간! 다음 명령을 실행하여 컨테이너를 시작하고 동일한 포트 8081을 사용하여 호스트에 게시합니다.
docker run -p 8081:8081 nodejs_docker
감사합니다
Reference
이 문제에 관하여(Node.js 웹 앱 도커화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/sanjaysinghrajpoot/dockerizing-a-nodejs-web-app-id6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Node.js 웹 앱 도커화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sanjaysinghrajpoot/dockerizing-a-nodejs-web-app-id6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)