在GCE Docker下运行Couchbase并获取有关最大文件数的错误

时间:2014-06-22 23:50:01

标签: couchbase docker google-compute-engine

当我在GCE上的Docker容器中运行Couchbase服务器时,使用ncolomer/couchbase图像,我收到此错误:

The maximum number of open files for the couchbase user is set too low.
It must be at least 10240. Normally this can be increased by adding
the following lines to /etc/security/limits.conf:

couchbase              soft    nofile                  <value>
couchbase              hard    nofile                  <value>

Where <value> is greater than 10240.

ncolomer/couchbase中的文档建议更新/etc/init/docker.conf并添加limit nofile 262144,但我不确定在GCE下使用Docker时是否可以使用。< / p>

我看到了几个选项:

  • 在Dockerfile中,根据couchbase错误的建议运行脚本以修改/etc/security/limits.conf
  • 在Dockerfile中调用ulimit -n 64000

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

ulimit的问题在于限制受限于docker主机进程的限制。 这与已知的#4717(以及较小程度#1916)Docker问题有关。

据我所知,您提到的两个选项不起作用,因为它只会在子进程(即容器)上设置ulimit。从那里开始,我没有选择,只能在主机上设置正确的ulimit,然后再尝试在容器上增加它。

文档化的程序应该可以正常工作,直到您有可能应用它。 我不太了解GCE平台,但如果您具有对实例的root访问权限,则应该将更改应用于/etc/init/docker.conf文件,重新启动Docker服务并启动Couchbase容器。