使用Ubuntu 16.10 Docker 1.12.3 Docker Composer 1.8 官方弹性码头图像的弹性最新标签
搬运工-compose.yml
version: '2'
services:
elastic:
image: elasticsearch
environment:
- ES_JAVA_OPTS=-Xmx2g -Xms2g
登录日志
elastic_1 |错误:引导程序检查失败 elastic_1 |弹性搜索过程的最大文件描述符[4096]太低,增加到至少[65536] elastic_1 | [2016-11-18T17:48:17,058] [INFO] [o.e.n.Node] [HK_OIan]停止......
任何想法,谢谢
答案 0 :(得分:2)
从elasticsearch官方文档中读取资源后,我设法启动容器更新我的docker-compose.yml文件
version: '2'
services:
elastic:
image: elasticsearch
environment:
- ES_JAVA_OPTS=-Xmx2g -Xms2g
ulimits:
nofile:
soft: 65536
hard: 65536
添加ulimit部分
答案 1 :(得分:0)
使用以下命令检查进程运行时的实际限制(尽管很短):
cat /proc/<pid>/limits
您将找到类似以下内容的行:
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
<truncated>
然后取决于运行器或容器(在我的情况下,这是主管的minfds值),您可以取消实际的限制配置。
答案 2 :(得分:0)
使用直接docker run
命令而不是docker-compose的用户可以按如下所示设置ulimit。
docker run --ulimit nofile=65536:65536 -p 9200:9200 --name elastic-search docker.elastic.co/elasticsearch/elasticsearch:6.4.2