docker pull elasticsearch:7.9.1
2.1.创建网络
如果需要安装kibana等其他,需要创建一个网络,名字任意取,让他们在同一个网络,使得es和kibana通信
docker network create esnet
2.2.配置elasticsearch(建议采用3.3的配置方式)
PS:这里需要注意,配置时一定要写-e “discovery.type=single-node”,表示当前elasticsearch单节点模式,非集群,不配置的话,本版本elasticsearch启动30秒后就挂掉了
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --network esnet -e "discovery.type=single-node" elasticsearch:7.9.1
进入elasticsearch容器中
docker exec -it elasticsearch /bin/bash
3.1.直接在修改/config/elasticsearch.yml文件
首先安装vim,有点耗存储(60MB)
yum install vim
安装完添加跨域配置,方便各服务之间的调用
vim config/elasticsearch.yml
http.cors.enabled: true,
http.cors.allow-origin: “*”
3.2.使用外置elasticsearch.yml,容器化elasticsearch时把它挂载进来
首先把elasticsearch容器中的config/elasticsearch.yml拷贝可编辑的目录
docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml
这时/usr/share目录下就会多一个elasticsearch.yml 文件
vim /usr/share/elasticsearch.yml
添加下面的跨域配置
http.cors.enabled: true,
http.cors.allow-origin: “*”
##终止elasticsearch容器
docker stop elasticsearch
##删除elasticsearch容器
docker rm elasticsearch
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --network esnet -e "discovery.type=single-node" -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.9.1
3.3直接在/usr/share目录下创建elasticsearch.yml,下次修改时可以直接在外部修改elasticsearch.yml,然后再重启elasticsearch容器,docker restart elasticsearch
##创建文件
touch /usr/share/elasticsearch.yml
##编辑文件
vim /usr/share/elasticsearch.yml
按下i键进入插入模式,添加下面内容后,按esc键盘,再按:wq(或者shift+z+z),回车保存退出
cluster.name: "docker-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: “*”
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" --name elasticsearch -p 9200:9200 -p 9300:9300 --network esnet -e "discovery.type=single-node" -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.9.1
#进入elasticsearch容器
docker exec -it elasticsearch /bin/bash
##下载并安装ik分词器
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.1/elasticsearch-analysis-ik-7.9.1.zip
##退出容器
exit
##重启elasticsearch容器
docker restart elasticsearch
主要用来可视化操作elasticsearch索引库
##拉取镜像
docker pull mobz/elasticsearch-head:5
##配置head插件 --net esnet前面没有配置的同学,可以自己去掉
docker run -d --name elasticsearch-head --net esnet -p 9100:9100 mobz/elasticsearch-head:5
##拉取镜像
docker pull kibana:7.9.1
##容器化镜像,注意--net esnet代码看上面网络创建
docker run -d --name kibana -e “I18N_LOCALE=zh-CN” --link=elasticsearch:elasticsearch --net esnet -p 5601:5601 kibana:7.9.1
参考链接:
elasticsearch官网,官网里有配置集群的链接
docker镜像官网
PS:本人用的是阿里云轻量级应用服务器学生版,如果您的也是请记着去控制台打开9200,9300等端口