Docker中部署elasticsearch
创始人
2024-01-31 08:04:15

Docker中部署elasticsearch

  • 1.下载镜像
  • 2.查看镜像是否下载成功
  • 3.选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。
  • 4.进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容
  • 5.开始使用docker run启动容器,具体命令参考为
  • 6.可以使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。
  • 7.进入容器修改密码
  • 8.然后可以直接在浏览器里输入部署es的服务器ip地址和端口号9200,如果出现如下json格式结果,就ok了。
  • 9.此时如果想查看es的服务是否启动正常,还可以基于docker来安装es的插件。过程基本一样,先docker去拉取插件,然后docker运行容器
  • 10.到此就可以使用网页浏览器来查看es的运行状况了。打开一个浏览器,地址栏上输入安装es插件的服务器ip地址和其端口号
  • 11.修该密码

1.下载镜像

sudo docker pull elasticsearch:7.12.0

2.查看镜像是否下载成功

sudo docker images

在这里插入图片描述

3.选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。

mkdir /home/zx/es_docker
cd es_docker
mkdir logs config plugins data
chmod -R 777 es_docker

4.进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容

http.host: 0.0.0.0# Uncomment the following lines for a production cluster deployment
#transport.host: 0.0.0.0
#discovery.zen.minimum_master_nodes: 1#Password configxpack.security.enabled: true   #这一步是开启x-pack插件

由于是yml文件配置,所以host后面的冒号,必须空格后才能输入0.0.0.0。也就是后面的ip地址前面需要空格。

5.开始使用docker run启动容器,具体命令参考为

sudo docker run --privileged=true --name elasticsearch -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /home/zx/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/zx/es_docker/data:/usr/share/elasticsearch/data -v /home/zx/es_docker/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.12.0#一下为解释,命令可直接负责上面
sudo docker run --privileged=true #授予逻辑卷访问权--name elasticsearch -p 9200:9200 #端口映射配置 -p 9300:9300 -e "discovery.type=single-node" #非集群模式-e ES_JAVA_OPTS="-Xms84m -Xmx512m" #内存大小-v /home/zx/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml #挂载逻辑卷,绑定elasticsearch的配置文件-v /home/zx/es_docker/data:/usr/share/elasticsearch/data #挂载逻辑卷,绑定elasticsearch的数据目录-v /home/zx/es_docker/plugins:/usr/share/elasticsearch/plugins #挂载逻辑卷,绑定elasticsearch的件目录-d elasticsearch:7.12.0

6.可以使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。

sudo docker ps -a

在这里插入图片描述

sudo docker logs elasticsearch

在这里插入图片描述

7.进入容器修改密码

sudo docker exec -it elasticsearch bash
cd /bin
elasticsearch-setup-passwords interactive     #此步为手动设置密码#以下不是命令
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]yEnter password for [elastic]:    #在这里设置密码,注意最少六位,下面也一样
Reenter password for [elastic]: 
Passwords do not match.
Try again.
Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

8.然后可以直接在浏览器里输入部署es的服务器ip地址和端口号9200,如果出现如下json格式结果,就ok了。

在这里插入图片描述

在这里插入图片描述

9.此时如果想查看es的服务是否启动正常,还可以基于docker来安装es的插件。过程基本一样,先docker去拉取插件,然后docker运行容器

docker pull mobz/elasticsearch-head:5
sudo docker run -d --name es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5

执行docker命令后,也可以使用docker ps -a来查看是否成功启动。不过更好的方式是和es服务链接上。
因此接下来首先需要修改es的config目录的配置文件elasticsearch.yml,在其后面增加两行语句:

http.cors.enabled: true   
http.cors.allow-origin: "*" #主要目的就是允许跨域请求。#由于修改了配置文件,所以需要重启一下es的服务。直接运行如下语句:
docker restart elasticsearch

10.到此就可以使用网页浏览器来查看es的运行状况了。打开一个浏览器,地址栏上输入安装es插件的服务器ip地址和其端口号

输入
http://124.221.63.96:9100/?auth_user=elastic&auth_password=密码
在这里插入图片描述

11.修该密码

curl -u elastic -H "Content-Type: application/json" -X POST "localhost:9200/_xpack/security/user/elastic/_password" --data '{"password":"新密码"}'

相关内容

热门资讯

excel表格怎么求积 exc... Hello大家好,我是帮帮。今天跟大家分享一下Excel合并单元格求和乘积计算技巧,特殊表格公式计算...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
死人为什么要盖上脸 家里死人三... 众所周知,人的一生是非常短暂的,所以人们会在有限的时间里,将自己想做的事情都做完,为的就是不留遗憾。...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...