首页 > 技术笔记 > Linux > 使用Docker快速搭建node.js+mongoDB开发环境
2016
05-04

使用Docker快速搭建node.js+mongoDB开发环境

Docker无疑是最近几年比较火的技术之一,热门技术之所以能够火起来,主要是因为它解决了某方面的行业痛点。而Docker解决的正是服务器应用快速构建、部署和分享的问题。在Docker之前,开发者深陷软件配置之苦,不同环境下的配置问题层出不穷,而这些问题都占用了我们很多的时间。有时候我们更希望拿来就用,这样就可以专注于我们本该干的活了。今天就先通过docker来快速搭建node.js开发环境。

Docker简介

Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,其源代码托管在GitHub上,它基于Go语言并遵从Apache 2.0协议。Docker自2013年诞生以来,就受到业内的高度关注,从RedHat在RHEL 6.5中集成对Docker的支持,到Google的计算引擎支持Docker在其之上运行,再到国内百度的App引擎也是基于Docker部署的,以及越来越多的软件采用Docker部署。可以说,在云计算的背景下,Docker正带来一场软件开发的革命。由于Docker的影响越来越大,dotCloud公司也更名为Docker公司。 随着Docker越来越成熟, 它后面采用了自己的libContainer来替换LXC。 Docker相比传统的虚拟机具有如下优点:
  • 跨云平台支持
  • 实现环境的标准化和版本控制
  • 高资源利用率和隔离
  • 消除环境差异,简化持续集成、测试和发布过程
  • 丰富的应用镜像仓库
  • 易于理解和使用
docker_use

安装Docker

安装Docker的要求如下:
  • Docker只支持安装在64位CPU架构的计算机上,目前不支持32位CPU。
  • 建议系统的linux内核在3.10及以上
  • Linux内核需要开启cgroup和namespace功能
  • 对于非Linux内核的平台,如windows和OSX,需要安装使用Boot2Docker工具。
此处使用Debian 8系统,安装如下:

安装mongoDB

获取最新版本的mongoDB镜像: 运行mongoDB容器: 参数说明: -v /data/mongodb_data : 挂载宿主主机目录作为数据卷。 -p 27017:27017 : 指定宿主主机上的端口映射到容器内部指定的开放端口,这样外部也可以访问到数据库。 –name mongo : 指定容器的名字。 -d : 表示以后台运行容器并返回容器的ID。 查看当前运行的容器:

安装node

获取最新版本的node.js镜像: 创建测试文件/data/app/test.js: 运行node容器: 参数说明: -i : 在交互模式下启动容器,一旦交互结束,容器就会退出。 -t : 分配一个伪终端。 –rm : 当这个container执行完毕,将自动自己删除,保证了container数量不会泛滥增长。 –link : 容器连接。 -w : 工作目录 运行后会直接进入容器的一个终端,并以root登录,接下来运行如下命令: 若返回’OK!’则证明成功连接mongoDB。 npm nodetest

PS

此处仅仅是以一个简单的例子来判断mongodb是否能够成功连接,当然也可以直接通过docker run命令来直接运行容器下的应用。

生产环境

这里只是搭建了一个简单的开发环境,如果要搭建生产环境的话就跟这个有所不同了。因为单机直接相连存在以下问题:
  • 不能跨主机连接
  • 耦合性太高
为了解决这样的问题,可能就需要通过代理连接形式进行容器连接,架构图如下: node_pro 这种形式的搭建,篇幅有限,以后再讲。
最后编辑:
作者:射雕天龙
转载请注明:转载自射雕天龙的博客(http://blog.wangjunfeng.com)
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

使用Docker快速搭建node.js+mongoDB开发环境》有 1 条评论

  1. themebetter 说:

    终于搞定新主题tob上线,过来看看博主,技术文必须支持。

留下一个回复

你的email不会被公开。