docker 搭建 nodejs + mongodb 實(shí)現(xiàn)RESTful API

最近在學(xué)習(xí)docker的使用,今天成功在vps上部署了一個(gè)nodejs RESTful API服務(wù),數(shù)據(jù)庫使用了mongdb,記錄下過程。

  • 克隆已經(jīng)push到GitHub上的nodejs服務(wù) GitHub地址
> git clone https://github.com/NxDon/201-nodejs-web.git
  • 編寫Dockerfile
# Statusbar

# VERSION    1.0.0
FROM daocloud.io/node:5
MAINTAINER 645104928@qq.com

ENV HTTP_PORT 8000
#拷貝當(dāng)前文件到 容器的 /app 位置
COPY . /app
#將容器的 /app 目錄設(shè)為工作目錄
WORKDIR /app

RUN npm install --registry=https://registry.npm.taobao.org

EXPOSE 8000

CMD ["npm", "start"]
  • 進(jìn)入clone下來的目錄,開始構(gòu)建image
cd 201-nodejs-web
docker build -t restful .  
  • 下載官方的MongoDB image
docker pull mongo
  • 后臺(tái)啟動(dòng)mongodb container
$ docker run --name mongodb -d mongo
  • 利用build好的image啟動(dòng)nodejs 的container
# --link 已經(jīng)啟動(dòng)的container name : 別名
# -d 后臺(tái)運(yùn)行
# restful 是之前build 的image名稱
docker run --name rest --link mongodb:mongo -d restful

此時(shí),因?yàn)樵趎odejs中index.js 鏈接到mongodb的地址設(shè)置為"mongo:27017",('mongo'和上面--link中的第二個(gè)參數(shù)相同),所以此時(shí)nodejs服務(wù)器所在的container(rest)即可訪問到MongoDB的container(mongodb)。

參考資料:

  1. https://onbing.com/first-blog/
  2. https://docs.docker.com/samples/library/mongo/#-or-via-mongo
  3. https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#connect-using-network-port-mapping
  4. https://www.thachmai.info/2015/05/10/docker-container-linking-mongo-node/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,828評(píng)論 15 147
  • 一、Docker 簡介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,508評(píng)論 0 27
  • 各位同學(xué),早上好!今日早點(diǎn)請欣賞講師問答― 觀照該有目的性嗎? 學(xué)生問:如何知道我的觀照是帶有目的性的呢? 張講師...
    漣漪的聲音閱讀 245評(píng)論 0 0
  • 演講又叫講演或演說,是指在公眾場所,以有聲語言為主要手段,以體態(tài)語言為輔助手段,針對(duì)某個(gè)具體問題,鮮明、完整地發(fā)表...
    謀商學(xué)院閱讀 198評(píng)論 0 0
  • 之前看李欣頻的書上說到吸引力法則,你心里想的都會(huì)被吸引過來,冥冥之中我感覺昨天發(fā)生的事情都是我吸引過來的,為什么我...
    秀艷的美好生活閱讀 314評(píng)論 0 0

友情鏈接更多精彩內(nèi)容