【发布时间】:2014-12-10 14:03:19
【问题描述】:
我一直在我的 mac 上的 docker 上运行我们的 SoA。
它有七个容器:
- 三个 Rails 应用程序
- 兔子
- postgres
- 弹性搜索
- rubygems 的数据量
与我的 mac 相比,它的运行速度非常慢。 (例如,gulp 需要 1 小时来读取 docker 上的 manify 中的所有文件,但在 mac 上只需 10 秒)。
我将 VM 的内存增加到 8GB,但它只使用了大约 2GB,所以这不是问题。
有任何想法(我知道这很模糊)。也许我可以做一些 VM 调整。我怀疑这与文件 io 有关,但我知识渊博,不知道如何验证,不介意调整 VM 足以解决它。
注意:rails 应用程序是从主机 mac 的卷中安装的。同样,postgres、rabbit 和 elasticseach 也将数据存储在从 mac 安装的卷上。
【问题讨论】:
-
清单文件是使用卷还是 docker 映像的一部分安装的?如果存在大量文件 I/O,默认的联合文件系统可能会降低系统速度
-
它们已安装 - 我认为这确实是问题所在。
-
所以在 boot2docker 上,挂载是使用 sshfs 文件系统进行的。这可能会减慢他们的速度。在 linux 机器上卷挂载要快得多。如果您可以在没有 boot2docker 的 linux 机器上进行测试,您应该会看到改进。
-
感谢 Usman - 我将尝试使用 vagrant 配置的 docker,看看有多少改进。
-
Boot2docker 只是运行一个虚拟机虚拟机,您可以只执行 boot2docker ssh 并从那里直接运行 docker。如果你觉得这更容易,那就流浪。
标签: docker virtualbox boot2docker