Notice
Recent Posts
Recent Comments
Link
Connecting
Docker Node Example 본문
반응형
Node Express를 활용한 간단한 Dockerfile를 만들어서 Docker 이미지를 만들어보도록 하겠습니다.
연구실은 Nexus를 통해서 Registry 구성이 완료되어 있으며, 관련 설정내용은 다음 링크에 자세히 설명되어 있으므로 참고하여 주시길 바랍니다.
주의사항
Linux 사용시 sudo를 반드시 사용해야 하며 윈도우의 경우 사용 방법이 상의할 수 있습니다.
Docker는 가급적 Linux에서 사용하는 것을 추천합니다.
기존 Docker 이미지 정리하기
$ docker stop $(docker ps -a -q)
$ docker rm $(docker ps -a -q)
$ docker rmi $(docker images -a -q)
Create node express application
server.js
'use strict'
const express = require('express')
const PORT = 8080
const HOST = '0.0.0.0'
const app = express();
app.get('/', (req, res) => {
res.send('Hello world\n')
});
app.listen(PORT, HOST)
console.log(`Running on http://${HOST}:${PORT}`)
Dockerfile
FROM node:11
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm install --only=production
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ].dockerignore
node_modules
npm-debug.log
Building your image
$ docker build -t <username>/node-web-app .
$ docker images
REPOSITORY TAG ID CREATED
node 8 1934b0b038d1 5 days ago
<your username>/node-web-app latest d64d3505b0d2 1 minute ago
Run the image
$ docker run -p 8080:8080 -d <username>/node-web-app
$ docker ps
$ docker logs <container id>
# Example
Running on the http://localhost:8080
$ curl -i localhost:8080
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 12
ETag: W/"c-M6tWOb/Y57lesdjQuHeB1P/qTV0"
Date: Mon, 13 Nov 2017 20:53:59 GMT
Connection: keep-alive
Hello world
'Container' 카테고리의 다른 글
Docker Swarm으로 시작하는 오케스트레이션 - 1 (0) | 2019.05.07 |
---|---|
Docker Postgresql 설치 및 셋팅하기 (9) | 2019.02.25 |
Docker Private Registry (4) | 2018.08.05 |
Docker Tutorials and Labs (0) | 2018.07.08 |
Dockerfiles 작성 우수 사례 (0) | 2018.07.05 |
Comments