Docker如何部署Node.js
导读:本文共1648字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 项目结构`--docker-node|--data|--server|--app.js|--dockerfile|--process.yml|--package.json|--docker-compose.yml1、创建node.js程序app.jsconstexpress=require('express');constapp=... ...
目录
(为您整理了一些要点),点击可以直达。项目结构
`--docker-node|--data|--server|--app.js|--dockerfile|--process.yml|--package.json|--docker-compose.yml
1、创建node.js程序
app.js
constexpress=require('express');constapp=express();app.get('/',(req,res)=>res.send('helloworld!'));app.listen(3008);
2、创建dockerfile
fromnode:8.9-alpinerunmkdir-p/usr/src/appworkdir/usr/src/apprunnpmsetregistryhttps://registry.npm.taobao.org/runnpminstallcmd["./node_modules/pm2/bin/pm2-docker","process.yml"]
从dockerfile中可以看到我们是通过pm2-docker运行node应用的,利用pm2我们可以监听文件变化,达到应用重启、日志分存等效果;这里我们需要一个process.yml的配置文件,相关用法可以查看pm2文档。
process.yml
apps:-script:'app.js'name:'dokcer-node'exec_mode:'fork'watch:trueinstances:1log_date_format:'yyyy-mm-ddhh:mmz'ignore_watch:['node_modules']
3、创建docker-compose.yml
生产环境上我们用到往往不只一个容器,我们可以通过一个配置文件来管理多个docker容器,然后使用docker-compose来启动,停止、重启应用。
docker-compose.yml
version:"3.0"services:server_node:container_name:server-nodebuild:context:./servervolumes:-./server:/usr/src/appports:-"3008:3008"environment:-tz=asia/shanghaiportainer:image:portainer/portainer:1.11.4container_name:portainerexpose:-"9000"ports:-"9000:9000"volumes:-/var/run/docker.sock:/var/run/docker.sock-./data/portainer:/dataenvironment:-tz=asia/shanghai
4、启动容器
上述几个文件创建完毕,我们执行下面的命令,则会创建我们的镜像并且启动容器
$docker-compose-fdocker-compose.ymlup-d
5、测试
1、访问本地的3008端口
2、测试当代码变化,node自动重启功能,我们把"hello world!"改为"restart!!!!",再次刷新页面
3、利用portainer管理容器;可视化的界面相比命令行来说,我们可以很方便、快速查看容器日志、容器配置、状态、以及对进行重启、删除等操作;我们访问本地9000端口即可(docker-compese.yml中配置),结果如下。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Docker如何部署Node.js的详细内容,希望对您有所帮助,信息来源于网络。