docker安装elasticsearch

1.安装

docker pull elasticsearch:7.4.0

使用默认的docker pull elasticsearch失败了,在官网上找的最新的一个版本标签,加上去才能给正常下载

启动:

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 --name es01 elasticsearch:7.4.0

验证安装,页面访问:http://192.168.99.100:9200

失败了,发现docker中es01停止了,查看日志,发现报错:

ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is 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_n
odes] must be configured

问题1:

需要修改docker配置:

docker-machine ssh

sudo sysctl -w vm.max_map_count=262144

问题2:

缺少必要的配置导致,需要在elasticsearch.yml文件中添加或修改为:

cluster.initial_master_nodes: ["node-1"]

因为docker中容器生存时间太短,根本来不及修改容器内部的文件内容,可以在启动docker的时候使用 -v 命令指定外部文件挂载来作为配置文件的方式解决:

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /d/docker/:/usr/share/elasticsearch/config/ -d -p 19200:9200 -p 19300:9300 --name es02 elasticsearch:7.4.0

将es的配置文件全部复制到c盘的docker目录下,再修改配置

1.注意这里对应的是文件夹,源文件中的配置文件不能缺少,否则启动会报空指针异常;

2.Windows下,-v 不能使用 D: ,使用 /d/ ;

3.不能单独挂载某一个文件,我在操作时想要单独挂载elasticsearch.yml,容器启动报错,提示指定挂载非目录。

或者使用docker cp替换文件的方式。我采用了第二种方式:

docker cp D:\\elasticsearch.yml es01:/usr/share/elasticsearch/config/elasticsearch.yml

问题解决,访问URL,出现内容。

2.测试

详细内容,见:Elasticsearch入门指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值