-
Docker onbuild 이미지 이용하기 : Node.jsContainer 2016. 4. 1. 09:00간단한 node.js 앱을 docker를 이용해서 실행해 보자.간단한 node.js 앱을 만들어 보자.Server.js 라는 이름의 파일에 아래 내용을 추가하자.var http = require('http');http.createServer(function (req, res) {res.writeHead(200, {'Content-Type': 'text/plain'});res.end('Hello World\n');}).listen(1337, "0.0.0.0");console.log('Server running at http://0.0.0.0:1337/');package.json 파일을 만들어서 아래 내용을 추가하자.{"name": "dockerbook-nodejs","version": "1.0.0","description": "sample nodejs for dockerbook","main": "server.js","scripts": {"start": "node server.js"}}그리고 server.js를 만든 경로와 같은 곳에 Dockerfile을 만들고 아래 내용을 추가하자.FROM node:5.0-onbuild이제 node.js용 컨테이너 이미지를 빌드해보자.docker build --tag nodejs-example .이미지가 빌드됐으면 그 이미지로 컨테이너를 실행한 다음에 접속해 보자.docker run --rm -it -p 1337:1337 nodejs-examplecurl 127.0.0.1:1337정상적으로 Hello World가 화면에 출력되는걸 확인할 수 있다.Node.js express기본 node.js 외에 node.js에서 인기있는 웹 프레임워크인 express를 이용한 컨테이너를 만들어 보자.위의 기본 node.js 앱에서 server.js파일과 package.json파일만 아래처럼 바꿔주면 된다.Server.jsvar express = require('express');var app = express();app.get('/', function (req, res) {res.send('Hello Express!');});var server = app.listen(3000, function () {var host = server.address().address;var port = server.address().port;console.log('Example app listening at http://%s:%s', host, port);});package.json{"name": "express-example","version": "1.0.0","description": "","main": "server.js","scripts": {"start": "node server.js"},"dependencies": {"express": "^4.13.3"}}Dockerfile은 변경하지않고 그대로 두면 된다.이 상태에서 다시 docker build하고 만들어진 이미지를 실행하면 된다.docker build --tag nodejs-express-example .docker run --rm -it -p 3000:3000 nodejs-express-example이제 3000번 포트로 접속해 보면 Hello Express! 라는 문구가 출력된걸 확인할 수 있다.curl 127.0.0.1:3000
'Container' 카테고리의 다른 글
Docker 볼륨 사용하기 (1) 2016.04.06 Docker onbuild 이미지 이용하기 : Java (0) 2016.04.04 Docker onbuild 이미지 이용하기 : php (0) 2016.03.30 Docker onbuild 이미지 이용하기 : ruby (0) 2016.03.28 Docker onbuild 이미지 이용하기 : python (0) 2016.03.25 댓글