您的位置:首页 > 运维架构 > Docker

docker启动es(闪退及外部无法访问9200端口)

2020-07-28 09:35 597 查看

首先假如容器出现闪退,
使用

docker logs -f 容器ID
查看日志发现:如下错误

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

是因为ES需要JVM内存默认为2G,太大了,需要修改,同时需要指定discovery.type
输入如下

docker run -d -e ES_JAVA_POTS="-Xms256m -Xmx256m"  -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 --name ES 容器ID

此时,外部访问ip:9200还是访问,但是容器已经不会闪退了。
ES默认外部无法访问9200端口,因为我们需要修改配置文件

docker exec -it 容器ID /bin/bash

此时进入容器内部,可以使用

ls
查看内容文件夹,可以看到有config文件夹,进去

cd config

ls
,可以看到有
elasticsearch.yml
文件,修改它

vi elasticsearch.yml

添加上

network.host: 0.0.0.0

然后按Esc,再按:wq 退出。随后重启容器,可以访问9200了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: