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

学习了一小段时间的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起来会出现问题在浏览器中访问不到。*********
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容