반응형
1. 우선 Docker를 실행하기 전에 PC의 가상화 여부를 확인하고 관련된 설정부터 바꾼다.
2. 가상화 설정을 하였다면 Docker를 설치한다. (여기서는 window 용)
https://steemit.com/kr/@mystarlight/docker
3. Node.js 이미지를 배포할 예정이기 때문에 Node.js를 설치하고 서버를 실행 시켜본다.
3.1 Node.js 설치
3.2 Node.js 서버 실행
3.2.1 npm 모듈을 이용하여 라이브러리를 설치한다.
npm init
npm install --save express
3.2.2 간단한 node.js 서버 소스코드를 작성한다.
var express = require('express');
var app = express();
const port = 3000;
var server = app.listen(port, function () {
console.log("server start");
});
app.get('/', function (req, res) {
res.send('Hello Node.js !!');
});
3.2.3 CMD 창에서 해당 파일의 경로로 이동하여 node.js 서버를 실행 시킨다.
node index.js
3.2.4 브라우저에서 localhost:3000을 입력하여 서버로 접근하여 페이지를 확인한다.
4. Docker image 생성
4.1 에디터를 이용하여 아래처럼 파일들을 수정하자.
.dockerignore
node_modules/
Dockerfile - 얘는 파일 확장자가 없음
* Dockerfile 명령어 정리 : https://dbjh.tistory.com/17
FROM node:8
COPY . .
RUN npm install
EXPOSE 3000
WORKDIR /
CMD node index.js
pakage.json
{
"name": "docker-node",
"version": "1.0.0",
"description": "docker node test",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "falsy",
"license": "WTFPL",
"dependencies": {
"express": "^4.16.3"
}
}
4.2 아래 명령어를 내려서 도커이미지를 생성한다.
docker build --tag docker-node:dev .
4.3 생성된 도커 이미지를 확인한다
docker images
5. Docker Container 실행
5.1 생성된 이미지 docker-node:dev를 이용하여 컨테이너를 실행시킨다.
docker run --name docker-node-test -p 3000:3000 docker-node:dev
5.1.1 컨테이너를 실행하였는데 아래와 같은 오류가 나타난다면 Dockerfile을 수정한다.
FROM node:8
#Creator
MAINTAINER 0.1 '자신의 도커에 가입했던 이메일' ex) docker123@gmail.com
COPY . .
RUN npm install
EXPOSE 3000
WORKDIR /
CMD node index.js
5.2 위와 같이 Dockerfile을 수정하고 다시 이미지생성 - 컨테이너 실행을 한다.
5.3 Node.js 서버가 실행된 것을 확인하고 브라우저에서 서버로 접근하도록 한다.
참조
반응형
'Infra > Docker' 카테고리의 다른 글
[Docker] AWS EC2(Red Hat Linux)에 Docker설치 (0) | 2021.01.16 |
---|---|
[Docker] Docker Hub에 이미지 올리기 (0) | 2019.12.17 |
[Docker] Docker로 Spring Boot 배포하기 (0) | 2019.12.08 |
[Docker] Dockerfile 명령어 정리 (0) | 2019.12.02 |
[Docker] Docker란? (1) | 2019.11.24 |
댓글