使用Laradock运行弹性搜索

时间:2017-02-16 13:08:16

标签: laravel docker elasticsearch laradock

我正在尝试使用Laradock运行ElasticSearch。 ES看起来与Laradock开箱即用。

这是我的docker命令(从<project root>/laradock/运行:

docker-compose up -d nginx postgres redis beanstalkd elasticsearch

但是,如果我运行docker ps,则弹性搜索容器未运行。

未使用端口92009300

lsof -i :9200

不确定为什么弹性搜索容器不会持久存在,它似乎只是自我关闭。

运行docker ps -a

docker-compose up ...的输出

http://pastebin.com/raw/ymfvLPLT

简明版:

IMAGE                     STATUS                        PORTS
laradock_nginx            Up 36 seconds                 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp
laradock_elasticsearch    Exited (137) 34 seconds ago
laradock_beanstalkd       Up 37 seconds                 0.0.0.0:11300->11300/tcp
laradock_php-fpm          Up 38 seconds                 9000/tcp
laradock_workspace        Up 39 seconds                 0.0.0.0:2222->22/tcp
tianon/true               Excited (0) 41 seconds ago
laradock_postgres         Up 41 seconds                 0.0.0.0:5432->5432/tcp
laradock_redis            Up 40 seconds                 0.0.0.0:6379->6379/tcp

运行docker events

后输出docker-compose up ...

http://pastebin.com/cE9bjs6i

2 个答案:

答案 0 :(得分:0)

尝试先检查日志:

docker logs laradock_elasticsearch_1

(或elasticsearch容器的其他名称)

在我的情况下是

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

我找到了解决方法here 即,我已经在我的Ubuntu计算机上运行

sudo sysctl -w vm.max_map_count=262144

答案 1 :(得分:0)

我不认为问题与Laradock有关,因为Elasticsearch应该自己运行,所以我首先要检查内存:

  • 打开Docker Dashboard->设置->资源->高级:并增加内存。
  • 检查计算机内存,如果计算机内存不足,Elasticsearch将不会运行。
  • 或:
    • 打开您的docker-compose.yml文件
    • 增加mem_limit:然后1g
    • docker-compose up -d --build elasticsearch

如果仍然无法正常工作,请删除所有图像,将laradock更新为最新版本并进行新设置。