Docker在实际项目中的用例

时间:2014-10-15 09:03:31

标签: virtual-machine docker linux-containers

我已经阅读了Docker的内容,但很难找到使用Docker的真实场景?

很高兴看到你的用法。

5 个答案:

答案 0 :(得分:6)

我正在使用它复制生产环境,在jenkins项目提交后构建我在那里部署的二进制文件,启动所需的守护进程并运行集成测试,所有这些都在很短的时间内完成(在需要时间的几秒钟内)集成测试)。无需启动,内存/ CPU /磁盘上的开销很小,非常适合这类事情。

我可以将这种用途扩展到开发(只需添加一个代码驻留在我的git存储库中的卷,至少对于脚本语言而言),让生产环境中的代码实际上是编辑的,只需要虚拟框需要的一小部分。

还需要测试如何将某些第三方代码集成到修改数据库的生产系统中。将DB压缩到一个容器中,将生产系统安装到另一个容器中,启动两者并迭代集成,直到我做得很好,回到零以便在几秒钟内再次尝试,并且比使用VM +快照更快,更便宜和更易编写脚本

还在容器上运行多个桌面浏览器实例,并将自己的插件,cookie,数据存储等分开。 desktop integration的docker存储库示例是一个很好的开端,但计划测试subuser以扩展此类用法。

答案 1 :(得分:2)

我已经使用Docker来实现虚拟化构建服务器,任何用户都可以要求在我们的规范环境中运行构建他们个人git分支的构建。

与服务器建立的每个SSH连接都连接到一个新容器,确保所有构建彼此隔离(过去的一个主要难点),确保容器的状态无法实现被破坏(因为更改都被隔离到了那个单一实例),并且确保即使是像Windows这样的平台上的开发人员,其中Docker(以及我们的规范构建环境中的其他工具)也无法在本地运行,也能够运行构建

答案 2 :(得分:1)

我们将它用于以下用途:

我们可以使用Jenkins Container来启动我们的Jenkins服务器。我们使用卷安装工作区,这样我们就可以通过复制文件并在其他地方启动容器来轻松迁移服务器。

我们使用Jetty容器在我们的生产和开发环境中轻松部署war文件。

我们使用了许多其他监控工具,例如我们拥有容器的Uptime,以便我们可以使用一个命令在各种主机上上下移动它们。

答案 3 :(得分:1)

我使用docker在几个不同的Linux发行版上构建和测试我们的软件(RHEL 4/5/6/7,Ubuntu 12.04,14.04)。

Docker可以轻松快速地创建简约且一致的构建环境。

答案 4 :(得分:-1)

Docker为您提供了其他虚拟化解决方案为您提供所需资源的一小部分所带来的好处。