##依次执行如下命令
#安装elasticsearch7.12.0,如果不指定版本号则默认安装最新版本
sudo docker pull elasticsearch:7.12.0
#安装对应版本的kibana
#kibana是es的可视化界面
sudo docker pull kibana:7.12.0
#查看所有正在运行的docker容器,检查elasticsearch和kibana是否安装成功
sudo docker ps
#在主机创建es的配置文件
mkdir -p /mydata/elasticsearch/config
#在主机上创建es的数据文件
mkdir -p /mydata/elasticsearch/data
#配置es可以被远程的任何机器访问 --可根据实际业务需求进行设定
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
##配置docker中的es,命令依次的含义如下:
#1.--name表示重命名 9200端口是es接收请求暴露的端口 9300是es在分布式集群下节点间通信的端口
#2.指定现在已单节点模式运行
#3.指定es的初始和最大的占用内存 --此处根据业务实际情况设定
#4.配置文件挂载 挂载后在docker外面修改相应的文件,与之挂载的docker内部文件会相应修改
#5.数据文件挂载
#6.插件挂载
#7.后台启动
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.12.0
#然后将本机关于es的文件权限改为777
chmod -R 777 /mydata/elasticsearch
访问主机地址加9200端口即可验证是否安装成功,,成功返回数据如下
{
"name" : "658a9cab8bd9",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "JvncwlDnR66lGj97fNwlRg",
"version" : {
"number" : "7.12.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
"build_date" : "2021-03-18T06:17:15.410153305Z",
"build_snapshot" : false,
"lucene_version" : "8.8.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}