-
Docker로 nodejs 설치하기서버 2020. 3. 26. 20:39
작업할 폴더를 만든다.
mkdir devTest cd devTest
npm init
express 모듈 설치
npm install express --save
index.js 파일을 만든다 (이름은 자유)
const express = require('express'); const app = express(); app.get('/', function(req, res) { res.send("hello world"); }); var server = app.listen(3000);
노드를 실행 후 localhost:3000을 주소창에 쳐서 잘 나오는지 확인.
node index.js
도커 파일을 만든다. (touch DockerFile)
FROM node:latest RUN mkdir -p /usr/src/test WORKDIR /usr/src/test COPY package.json /usr/src/test/ RUN npm install COPY . /usr/src/test EXPOSE 3000 CMD node index.js
From node:latest -> 도커 데몬에게 빌드 할 이미지를 지정
Run mkdir -p /usr/src/test -> 도커 데몬에게 실행할 커맨드를 작성 (/usr/src/test 폴더를 만들어라)
WORKDIR /usr/src/test -> 작업할 디렉토리를 설정
COPY package.json /usr/src/test -> package.json 을 해당폴더에 복사
Run npm install -> package.json에 써져있는 모듈들을 설치
COPY . /usr/src/test -> 프로젝트와 관련된 모든 파일과 폴더들을 작업할 디렉토리로 복사
EXPOSE 3000 -> 포트 매핑
CMD node app.js -> 서버 실행
.dockerignore 추가 - COPY 명령이 실행될때 특정 파일들은 복사 못하게 할 수 있음
touch .dockerignore
.dockerignore에 node_modules 작성 (node_modules 빼고 모두 복사됨)
node_modules
도커 빌드하기
docker build --tag testnode:1.0 .
docker build --tag [repository 이름]:[태그] [dockerfile이 있는 경로]
docker images
도커 실행하기
docker run -p 3000:3000 -d testnode:1.0
-p : 포트
-d : 컨테이너가 background에서 실행
docker ps
localhost:3000 하면 잘 작동하는지 확인 가능
reference
'서버' 카테고리의 다른 글
nodejs express-generator 사용하기 (0) 2020.03.26 docker 명령어 (0) 2020.03.26 docker 로 mongodb 설치하기 (0) 2020.03.22 SpringBoot에 QueryDSL 적용하기(Maven) (1) 2019.07.14 Springboot와 Mongodb 연결 (0) 2019.07.07