资讯专栏INFORMATION COLUMN

前端容器化——Node.Js & Mongodb

luckyw / 861人阅读

摘要:另外,中间件还提供了诸如日志记录之类功能,便于查询任务状态以及信息。

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 container
docker pull mongo
docker run --name mongo -d mongo
docker exec -it mongo mongo admin
docker run -v "$(pwd)":/data --name mongo -d mongo
add db user
db.createUser({ user: "user", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
Application

应用程序是基于node的,文末会附上一个配置node & nginx 的简单的Dockerfile

run node container
docker 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

其他就正常写吧,没啥区别了

More

ImplementsIO/docker-nodejs-seed

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26574.html

相关文章

  • React+Koa+MongoDB+Docker开发环境

    摘要:已经发布到,只要在环境下安装即可。下面通过来构建开发环境,提高开发体验。容器容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。部署开发环境部署开发环境其实很简单,只需要配置和即可。 前言 本次博文依然是对 multi-spa-webpack-cli 的扩充和完善。 集成 mongoose。 集成 Docker 开发环境。 multi-spa-w...

    sarva 评论0 收藏0
  • 前端每周清单第 29 期:Web 现状分析与优策略、Vue 单元测试、Headless Chrom

    摘要:前端每周清单第期现状分析与优化策略单元测试爬虫作者王下邀月熊编辑徐川前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点分为新闻热点开发教程工程实践深度阅读开源项目巅峰人生等栏目。 showImg(https://segmentfault.com/img/remote/1460000011008022); 前端每周清单第 29 期:Web 现状分析与优化策略...

    HackerShell 评论0 收藏0
  • Node.js 配合 express 框架、mongodb 实践 && [使用 T

    摘要:一默认使用的模块化方案,默认是的模块化方案,两者有本质区别。的去寻找引入的依赖时,如果是自带的模块,比如文件模块,只需要填写即可。这是版本入口文件使用了两个路由器路由,分别处理和请求逻辑。核心操作全部依赖模型对象来执行。 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果...

    wmui 评论0 收藏0
  • Node.js 配合 express 框架、mongodb 实践 && [使用 T

    摘要:一默认使用的模块化方案,默认是的模块化方案,两者有本质区别。的去寻找引入的依赖时,如果是自带的模块,比如文件模块,只需要填写即可。这是版本入口文件使用了两个路由器路由,分别处理和请求逻辑。核心操作全部依赖模型对象来执行。 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果...

    null1145 评论0 收藏0
  • Node.js 配合 express 框架、mongodb 实践 && [使用 T

    摘要:一默认使用的模块化方案,默认是的模块化方案,两者有本质区别。的去寻找引入的依赖时,如果是自带的模块,比如文件模块,只需要填写即可。这是版本入口文件使用了两个路由器路由,分别处理和请求逻辑。核心操作全部依赖模型对象来执行。 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果...

    xeblog 评论0 收藏0

发表评论

0条评论

luckyw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<