Docker简易版:使用更少击键运行Redis,MongoDB

  1. 云栖社区>
  2. 博客>
  3. 正文

Docker简易版:使用更少击键运行Redis,MongoDB

青衫无名 2017-06-02 15:40:00 浏览1234
展开阅读全文

你可能遇到这样的场景:开发软件时,像数据库和消息系统(messaging system)等其它服务也必须起起来。通常这些服务可能安装在开发者本人的机器上或者运行在虚拟机里。而最近围绕Docker的活动证明,它是一个有趣的可替代方案。使用Docker和一个叫dock的小工具,你可以短时间内启动所有开发环境所需要的服务。

你不知道Docker是什么?没问题。使用dock,你不需要真正了解Docker。你只需要安装好Docker。我同事Lukas Pustina写了一篇博客更详细的介绍Docker。

介绍

想象一下,你想快速开发一个原型,同时需要一个MongoDB运行在本地。使用dock,启动这个服务是轻而易举。只要输入dock mongodb,就好了。或者输入dock redis来启动Redis如何?dock使程序员乐于简单而快速的启动各种隔离的服务。你也可以执行像以下列表这样更多,更复杂的步骤:

$ dock redis jenkins sonar

    Starting redis (using /Users/ben/.dock-formulas/formulas/redis)
    Container started
    Name:       redis
    IP:         192.168.59.103
    Ports:      6379

    Starting jenkins (using /Users/ben/.dock-formulas/formulas/jenkins)
    Container started
    Name:       jenkins
    IP:         192.168.59.103
    Ports:      8472

    Starting sonar (using /Users/ben/.dock-formulas/formulas/sonar)
    Container started
    Name:       sonar-mysql
    IP:         192.168.59.103
    Ports:      3306
    Container started
    Name:       sonar-server
    IP:         192.168.59.103
    Ports:      8474

dock底层使用的是Docker。Docker本身是很强大的,dock使其变得更通用。dock加入了一个规则机制(formula mechanism),目标是开发者需要的本地开发环境。如果没有这个规则机制,你必须知道如何启动容器,使用哪个镜像,开放哪些端口。dock致力于让开发者只需要知道服务的名字。规则在GitHub上维护,通过pull request,其他开发者可以自行扩展。如果你需要的服务不包含在内,请发pull request或issue.

dock允许你在不同的规则之间迁移。你可以在运行dock时加上—cat参数来打印规则的详细信息。这些信息包括dock执行了哪些Docker命令。通过些信息学习Docker或者作为你能力的提高点。

安装

dock托管在GitHub上,是一个shell脚本。安装很简单,只需要下载脚本,然后将它加入到你的$PATH路径下。OS X用户可通过Homebrew安装,当然,你首先要安装Docker。

# as an OS X user with Homebrew
    brew tap bripkens/dock
    brew install dock  
    # for other platforms (assuming ~/bin is on your $PATH)
    curl https://raw.githubusercontent.com/bripkens/dock/master/dock -so ~/bin/dock && \
         chmod +x ~/bin/dock && \
         dock -u && \
         echo "dock installation successful. Try running 'dock’"

总结

Docker有很大潜力,而dock让它更易于使用。dock对你进行原型设计或学习新技术时很有帮助,当然,你也可以将它作为日常的基础设施。目前dock支持的服务还很少,但是它很容易扩展。告诉我你需要的任何服,或者发pull request来帮助。

网友评论

登录后评论
0/500
评论
青衫无名
+ 关注