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
其他就正常写吧,没啥区别了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。