Docker和Rails环境

从整个Docker的事情开始,我无法将自己的头围绕在一件事情上:

如何处理不同的依赖关系? 比方说,在制作中,我不想安装git,grunt等,但是在开发中我是这么做的。

可以运行testing的容器和在生产中运行的容器是有区别的。

我在想这个错吗?

在这方面有不同的理念,但是我个人认为,我使用Docker来尽可能地匹配我的生产环境,所以在任何地方使用该容器进行testing,让我相当肯定,一旦部署到产品,事情就会起作用。 这是Docker的主要优点之一 – 在部署任何地方之前,您可以在本地模拟操作系统,环境,依赖项,版本等。

有一个独立的容器开发容器,增加了依赖关系,可以传递给你的团队,但是对于我来说,Docker开发的主要好处是能够testing这个模拟的prod环境,并在本地运行完全相同的容器一旦你准备好了,将会使用它。 没有更多的“但它在我的机器上工作!” 错误。

docker-rails是我刚刚创build的一个项目,它使得docker(和CI) 非常容易 。 我认为它可以帮助你,并减less在docker上启动和运行rails所需的configuration。 它处理多个环境,即development | test | production development | test | production 在一个docker-rails.yml文件中生成,它实际上只是标准docker-compose.yml的元configuration/inheritance包装。

它将允许您在testing,vs开发服务器或具有不同容器的生产设置中运行testing命令集。 自述文件中的示例显示了在开发和testing中使用的elasticsearch,但不包括分段或生产。

我希望有帮助。