Docker和Rails环境

时间:2015-01-13 19:43:10

标签: ruby-on-rails docker dockerfile

从这整个Docker开始,我无法绕过一件事:

如何处理不同的依赖关系?让我们说在制作中我不想安装git,grunt等,但在开发过程中我会这样做。

可运行测试的容器与生产中运行的容器之间存在差异。

我在考虑这个错误吗?

2 个答案:

答案 0 :(得分:2)

对此有不同的理念,但就个人而言,我使用Docker尽可能地匹配我的生产环境,因此在任何地方使用该容器进行测试让我非常确定一旦我部署到prod,事情就会起作用。这是Docker的主要优点之一 - 您可以在部署任何地方之前在本地模拟操作系统,环境,依赖关系,版本等。

拥有一个可以传递给团队的附加依赖项的单独容器开发容器没有任何问题,但对我而言,Docker开发的主要好处是能够在该模拟prod环境上进行测试并运行完全相同的容器在您做好准备后,您将在本地使用。不再“但它在我的机器上运行了!”错误。

答案 1 :(得分:0)

docker-rails是我刚创建的一个项目,用于使用docker(和CI)轻松实现。我认为它可以帮助您减少在docker上启动和运行rails所需的配置数量。它处理多个环境,即development | test | production在一个docker-rails.yml文件中,这实际上只是标准docker-compose.yml上的元配置/继承包装器。

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

我希望有所帮助。