摘要:另外,中間件還提供了諸如日志記錄之類功能,便于查詢?nèi)蝿?wù)狀態(tài)以及信息。
DevOps大熱,這里我們借著上線一個(gè)node中間件,簡(jiǎn)單介紹下前端容器化相關(guān)的內(nèi)容
原文:http://blog.thonatos.com/dockerizing-your-frontend-project/
(很多東西還來(lái)不及寫,有時(shí)間再補(bǔ)充吧T.T,比如:如何快速在服務(wù)器部署vpn神馬の一定很有用...)
Intro 項(xiàng)目簡(jiǎn)介:創(chuàng)業(yè)公司,用了一些列的第三方服務(wù)(以阿里云為主),包含了mts/dms/oss/cdn等內(nèi)容,當(dāng)然了,這些中間件的作用是當(dāng)因?yàn)闃I(yè)務(wù)需求變動(dòng),更換第三方服務(wù)的時(shí)候,可以不用后端改變接口,只要在中間件做修改即可。另外,中間件還提供了諸如日志記錄之類功能,便于查詢?nèi)蝿?wù)狀態(tài)以及信息。此外,還有一些任務(wù)隊(duì)列,使用php調(diào)試也不是很方便(node&python這種調(diào)試是比較方便的~)
當(dāng)然了,今天的主題是,node & mongodb
服務(wù)環(huán)境:
數(shù)據(jù)庫(kù)
mongodb
redis
more
應(yīng)用程序
node
nginx
Database因?yàn)槭莕ode程序,我們的數(shù)據(jù)庫(kù)使用了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
應(yīng)用程序是基于node的,文末會(huì)附上一個(gè)配置node & nginx 的簡(jiǎn)單的Dockerfile
run node containerdocker run -d --name {CONTAINER NAME} -v "$(pwd)":/data --link mongo:mongo -p {PORT}:8080 {IMAGE ID}config database
docker.link
詳細(xì)的的作用可以參考docker官方文檔,這里呢,其實(shí)主要作用是想node容器里暴露一下IP&PORT
可以切換到shell輸入env,有兩個(gè)變量:
MONGO_PORT_27017_TCP_ADDR=192.168.0.2
MONGO_PORT_27017_TCP_PORT=27017
db.js
// 設(shè)置數(shù)據(jù)庫(kù) - 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
其他就正常寫吧,沒(méi)啥區(qū)別了
MoreImplementsIO/docker-nodejs-seed
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26574.html
摘要:已經(jīng)發(fā)布到,只要在環(huán)境下安裝即可。下面通過(guò)來(lái)構(gòu)建開(kāi)發(fā)環(huán)境,提高開(kāi)發(fā)體驗(yàn)。容器容器的實(shí)質(zhì)是進(jìn)程,但與直接在宿主執(zhí)行的進(jìn)程不同,容器進(jìn)程運(yùn)行于屬于自己的獨(dú)立的命名空間。部署開(kāi)發(fā)環(huán)境部署開(kāi)發(fā)環(huán)境其實(shí)很簡(jiǎn)單,只需要配置和即可。 前言 本次博文依然是對(duì) multi-spa-webpack-cli 的擴(kuò)充和完善。 集成 mongoose。 集成 Docker 開(kāi)發(fā)環(huán)境。 multi-spa-w...
摘要:前端每周清單第期現(xiàn)狀分析與優(yōu)化策略單元測(cè)試爬蟲作者王下邀月熊編輯徐川前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開(kāi)發(fā)教程工程實(shí)踐深度閱讀開(kāi)源項(xiàng)目巔峰人生等欄目。 showImg(https://segmentfault.com/img/remote/1460000011008022); 前端每周清單第 29 期:Web 現(xiàn)狀分析與優(yōu)化策略...
摘要:一默認(rèn)使用的模塊化方案,默認(rèn)是的模塊化方案,兩者有本質(zhì)區(qū)別。的去尋找引入的依賴時(shí),如果是自帶的模塊,比如文件模塊,只需要填寫即可。這是版本入口文件使用了兩個(gè)路由器路由,分別處理和請(qǐng)求邏輯。核心操作全部依賴模型對(duì)象來(lái)執(zhí)行。 一、Node.js默認(rèn)使用commonJs的模塊化方案,TypeScript默認(rèn)是ES6的模塊化方案,兩者有本質(zhì)區(qū)別。 1.Node.js的去尋找引入的依賴時(shí),如果...
摘要:一默認(rèn)使用的模塊化方案,默認(rèn)是的模塊化方案,兩者有本質(zhì)區(qū)別。的去尋找引入的依賴時(shí),如果是自帶的模塊,比如文件模塊,只需要填寫即可。這是版本入口文件使用了兩個(gè)路由器路由,分別處理和請(qǐng)求邏輯。核心操作全部依賴模型對(duì)象來(lái)執(zhí)行。 一、Node.js默認(rèn)使用commonJs的模塊化方案,TypeScript默認(rèn)是ES6的模塊化方案,兩者有本質(zhì)區(qū)別。 1.Node.js的去尋找引入的依賴時(shí),如果...
摘要:一默認(rèn)使用的模塊化方案,默認(rèn)是的模塊化方案,兩者有本質(zhì)區(qū)別。的去尋找引入的依賴時(shí),如果是自帶的模塊,比如文件模塊,只需要填寫即可。這是版本入口文件使用了兩個(gè)路由器路由,分別處理和請(qǐng)求邏輯。核心操作全部依賴模型對(duì)象來(lái)執(zhí)行。 一、Node.js默認(rèn)使用commonJs的模塊化方案,TypeScript默認(rèn)是ES6的模塊化方案,兩者有本質(zhì)區(qū)別。 1.Node.js的去尋找引入的依賴時(shí),如果...
閱讀 3524·2021-11-18 10:02
閱讀 958·2021-09-04 16:48
閱讀 2044·2019-08-30 15:55
閱讀 3549·2019-08-30 15:52
閱讀 1820·2019-08-30 14:08
閱讀 3564·2019-08-30 13:19
閱讀 1150·2019-08-27 10:53
閱讀 3128·2019-08-26 12:11