Docker如何部署Node.js(docker,node.js,编程语言)

时间:2024-05-06 12:01:13 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

项目结构

`--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端口

Docker如何部署Node.js

2、测试当代码变化,node自动重启功能,我们把"hello world!"改为"restart!!!!",再次刷新页面

Docker如何部署Node.js

3、利用portainer管理容器;可视化的界面相比命令行来说,我们可以很方便、快速查看容器日志、容器配置、状态、以及对进行重启、删除等操作;我们访问本地9000端口即可(docker-compese.yml中配置),结果如下。

Docker如何部署Node.js

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Docker如何部署Node.js的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:web开发中免费的编程用等宽字体有哪些下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18