도커를 사용하여 노드 js 애플리케이션을 실행하는 방법
노드 js 애플리케이션을 만들어 봅시다.
mdkir nodejsapp
cd nodejsapp
이제 다음 명령을 사용하여 package.json 파일을 초기화합니다.
npm init
package.json 파일이 생성되면 이제 Express를 설치할 수 있습니다.
npm install express
따라서 package.json 파일은 다음과 같습니다.
{
"name": "nodejsapp",
"version": "1.0.0",
"description": "nodejsapp description",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.3"
}
}
index.js
로 웹 사이트 구축을 시작하겠습니다.const express = require("express");
const app = express();
const port=3000;
app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
})
app.get("/page", (req, res) => {
res.sendFile(__dirname + "/page.html");
})
app.listen(port, () => {
console.log(`running at port ${port}`);
});
두 개의 파일
index.html
과 page.html
를 만들어 봅시다.<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Node JS</title>
</head>
<body>
<h1>Node JS</h1>
<p> Hello from Home </p>
<br />
<a href="/page">next page</a>
</body>
</html>
<!-- page.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Node JS Page</title>
</head>
<body>
<h1>Second Page</h1>
<p> Hello from page 2</p>
<br />
<a href="/">Home page</a>
</body>
</html>
루트 디렉터리에서
Dockerfile
및 .dockerignore
를 만듭니다.FROM node:14-alpine
RUN mkdir -p /home/app
COPY ./* /home/app/
EXPOSE 3000
WORKDIR /home/app
RUN npm install
CMD ["npm", "start"]
node_modules/
package-lock.json
도커 이미지를 빌드하려면 다음 명령을 실행하십시오.
docker build -t nodeapp:latest .
or
docker build -t <dockerhub_name>/<app_name>:<tag> .
Docker 이미지가 빌드되었는지 확인하려면 터미널을 열고
docker images
를 입력하십시오. 아래와 같이 출력이 표시됩니다.REPOSITORY TAG IMAGE ID CREATED SIZE
nodeapp latest e0a978b53566 8 seconds ago 123MB
이제 nodeapp이라는 도커 이미지를 실행해 보겠습니다(제 경우에는).
docker run -p 3001:3000 e0a978b53566
내 응용 프로그램을 포트 3001에 바인딩했기 때문에 해당 포트에서 실행됩니다. 적합하다고 생각되는 대로 자유롭게 수정할 수 있습니다.
docker run -p <PORT>:3000 <IMAGE ID>
결과적으로 애플리케이션이 실행 중인 것을 볼 수 있습니다
http://localhost:3001/
.이 블로그가 여러분에게 도움이 되었으면 합니다.
Reference
이 문제에 관하여(도커를 사용하여 노드 js 애플리케이션을 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ndrohith09/how-to-use-docker-to-run-a-node-js-application-4ima텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)