翻译自:
你可能遇到这样的场景:开发软件时,像数据库和消息系统(messaging system)等其它服务也必须起起来。通常这些服务可能安装在开发者本人的机器上或者运行在虚拟机里。而最近围绕Docker的活动证明,它是一个有趣的可替代方案。使用Docker和一个叫的小工具,你可以短时间内启动所有开发环境所需要的服务。
你不知道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托管在上,是一个shell脚本。安装很简单,只需要下载脚本,然后将它加入到你的$PATH路径下。OS X用户可通过Homebrew安装,当然,你首先要安装。
# 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来帮助。