摘要:另外,中间件还提供了诸如日志记录之类功能,便于查询任务状态以及信息。
DevOps大热,这里我们借着上线一个node中间件,简单介绍下前端容器化相关的内容
原文:http://blog.thonatos.com/dockerizing-your-frontend-project/
(很多东西还来不及写,有时间再补充吧T.T,比如:如何快速在服务器部署vpn神马の一定很有用...)
Intro 项目简介:创业公司,用了一些列的第三方服务(以阿里云为主),包含了mts/dms/oss/cdn等内容,当然了,这些中间件的作用是当因为业务需求变动,更换第三方服务的时候,可以不用后端改变接口,只要在中间件做修改即可。另外,中间件还提供了诸如日志记录之类功能,便于查询任务状态以及信息。此外,还有一些任务队列,使用php调试也不是很方便(node&python这种调试是比较方便的~)
当然了,今天的主题是,node & mongodb
服务环境:
数据库
mongodb
redis
more
应用程序
node
nginx
Database因为是node程序,我们的数据库使用了mongodb,安装以及配置如下:
run mongodb containerdocker pull mongo docker run --name mongo -d mongo docker exec -it mongo mongo admin docker run -v "$(pwd)":/data --name mongo -d mongoadd db user
db.createUser({ user: "user", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });Application
应用程序是基于node的,文末会附上一个配置node & nginx 的简单的Dockerfile
run node containerdocker run -d --name {CONTAINER NAME} -v "$(pwd)":/data --link mongo:mongo -p {PORT}:8080 {IMAGE ID}config database
docker.link
详细的的作用可以参考docker官方文档,这里呢,其实主要作用是想node容器里暴露一下IP&PORT
可以切换到shell输入env,有两个变量:
MONGO_PORT_27017_TCP_ADDR=192.168.0.2
MONGO_PORT_27017_TCP_PORT=27017
db.js
// 设置数据库 - MONGOOSE CONFIG var connect = function () { if(CONFIG.dev){ mongoose.connect(CONFIG.url, CONFIG.database.options); }else{ mongoose.connect("mongodb://"+process.env.MONGO_PORT_27017_TCP_ADDR+":"+process.env.MONGO_PORT_27017_TCP_PORT+"/mtmn", CONFIG.database.options); } };
other
其他就正常写吧,没啥区别了
MoreImplementsIO/docker-nodejs-seed
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26574.html
摘要:已经发布到,只要在环境下安装即可。下面通过来构建开发环境,提高开发体验。容器容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。部署开发环境部署开发环境其实很简单,只需要配置和即可。 前言 本次博文依然是对 multi-spa-webpack-cli 的扩充和完善。 集成 mongoose。 集成 Docker 开发环境。 multi-spa-w...
摘要:前端每周清单第期现状分析与优化策略单元测试爬虫作者王下邀月熊编辑徐川前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点分为新闻热点开发教程工程实践深度阅读开源项目巅峰人生等栏目。 showImg(https://segmentfault.com/img/remote/1460000011008022); 前端每周清单第 29 期:Web 现状分析与优化策略...
摘要:一默认使用的模块化方案,默认是的模块化方案,两者有本质区别。的去寻找引入的依赖时,如果是自带的模块,比如文件模块,只需要填写即可。这是版本入口文件使用了两个路由器路由,分别处理和请求逻辑。核心操作全部依赖模型对象来执行。 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果...
摘要:一默认使用的模块化方案,默认是的模块化方案,两者有本质区别。的去寻找引入的依赖时,如果是自带的模块,比如文件模块,只需要填写即可。这是版本入口文件使用了两个路由器路由,分别处理和请求逻辑。核心操作全部依赖模型对象来执行。 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果...
摘要:一默认使用的模块化方案,默认是的模块化方案,两者有本质区别。的去寻找引入的依赖时,如果是自带的模块,比如文件模块,只需要填写即可。这是版本入口文件使用了两个路由器路由,分别处理和请求逻辑。核心操作全部依赖模型对象来执行。 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果...
阅读 3488·2021-11-18 10:02
阅读 923·2021-09-04 16:48
阅读 2017·2019-08-30 15:55
阅读 3517·2019-08-30 15:52
阅读 1778·2019-08-30 14:08
阅读 3527·2019-08-30 13:19
阅读 1117·2019-08-27 10:53
阅读 3092·2019-08-26 12:11