docker 搭建 nodejs + mongodb 实现RESTful API

最近在学习docker的使用,今天成功在vps上部署了一个nodejs RESTful API服务,数据库使用了mongdb,记录下过程。

> 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
#拷贝当前文件到 容器的 /app 位置
COPY . /app
#将容器的 /app 目录设为工作目录
WORKDIR /app

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

EXPOSE 8000

CMD ["npm", "start"]
  • 进入clone下来的目录,开始构建image
cd 201-nodejs-web
docker build -t restful .  
  • 下载官方的MongoDB image
docker pull mongo
  • 后台启动mongodb container
$ docker run --name mongodb -d mongo
  • 利用build好的image启动nodejs 的container
# --link 已经启动的container name : 别名
# -d 后台运行
# restful 是之前build 的image名称
docker run --name rest --link mongodb:mongo -d restful

此时,因为在nodejs中index.js 链接到mongodb的地址设置为"mongo:27017",('mongo'和上面--link中的第二个参数相同),所以此时nodejs服务器所在的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/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,643评论 15 147
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,415评论 0 27
  • 各位同学,早上好!今日早点请欣赏讲师问答― 观照该有目的性吗? 学生问:如何知道我的观照是带有目的性的呢? 张讲师...
    涟漪的声音阅读 213评论 0 0
  • 演讲又叫讲演或演说,是指在公众场所,以有声语言为主要手段,以体态语言为辅助手段,针对某个具体问题,鲜明、完整地发表...
    谋商学院阅读 170评论 0 0
  • 之前看李欣频的书上说到吸引力法则,你心里想的都会被吸引过来,冥冥之中我感觉昨天发生的事情都是我吸引过来的,为什么我...
    秀艳的美好生活阅读 258评论 0 0