用Docker部署一个最简单的node应用

2018-05-30  本文已影响0人  FIndUndefined

学习了一小段时间的docker,先来个docker部署最简单的一个node应用。

先编写一个js文件:

app.js:

const express = require("express");

const app = express();

app.get('/',(req,res,next)=>{

res.send('Hello,Docker!');

})

app.listen(3000,()=>{

console.info('App running~');

})

再编写一个package.json文件

package.json

{

"name": "docker-express",

"version": "0.0.1",

"description": "docker-express",

"main": "app.js",

"author": "w",

"license": "MIT",

"devDependencies":{

"express":"^4.16.0"

}

}

最后编写Dockerfile文件

Dockerfile

FROM node

LABEL maintainer="w"

RUN mkdir /app

COPY app.js /app/app.js

COPY package.json /app/package.json

WORKDIR /app

RUN npm installEXPOSE 3000

CMD ["node","app.js"]

然后运行docker build -t express .

build出image之后docker run -d --name express -p 3000:3000 express运行,在浏览器中运行http://127.0.0.1:8080就可以看到结果了。

-d:后台以daemon进程运行;

-p:将本地端口映射到容器內的端口;

*******  如果不写package.json文件,直接在Dockerfile中添加一句RUN npm install express --save 在build成image之后,run起来会出现问题在浏览器中访问不到。*********
上一篇下一篇

猜你喜欢

热点阅读