Docker安装Es数据库
1.启动一个docker网络【用于es和kibana互通】
docker network create es-net
2. 拉取ES镜像
docker pull elasticsearch:7.12.1
3.启动es
docker run -d
–name es
-e “ES_JAVA_OPTS=-Xms1024m -Xmx1024m”
-e “discovery.type=single-node”
-v /volumns/es/data:/usr/share/elasticsearch/data
-v /volumns/es/plugins:/usr/share/elasticsearch/plugins
–privileged
–network es-net
-p 9200:9200
-p 9300:9300
elasticsearch:7.12.1
ps:相关参数
-
-e “ES_JAVA_OPTS=-Xms1024m -Xmx1024m”:配置es内存为1G
-
-e “discovery.type=single-node”:设置es为单点模式
-
-v /volumns/es/data:/usr/share/elasticsearch/data:数据目录挂载到本地/volumns/es/data下
-
-v /volumns/es/plugins:/usr/share/elasticsearch/plugins:插件目录挂载到本地/volumns/es/plugins下
-
–privileged:使container内的root拥有真正的root权限
-
–network es-net:容器加入此网络
-
-p 9200:9200:暴露用户访问端口
-
-p 9300:9300:暴露es结点互联 端口
4.赋予权限 重新启动
sudo chmod 777 /volumns/es/data
5.由于我用的是腾讯云服务器 需要开通9200端口
访问 ip:9200 出现下面证明启动成功
6.安装kibana 注需要和es版本一致
docker pull kibana:7.12.1
7.启动kibana容器
docker run -d
–name kibana
-e ELASTICSEARCH_HOSTS=http://es:9200
–network=es-net
-p 5601:5601
kibana:7.12.1
ps:参数
- -e ELASTICSEARCH_HOSTS=http://es:9200:给kibana配置es的连接地址【http://<es的容器名>:9200】
- –network es-net:容器加入此网络
- -p 5601:5601:暴露端口
8.访问 ip:5601 选择 Explore on my own
记得开通需要开通5601端口
测试是否成功:management ->dev tools
单机搭建完成
9.汉化kibana 进入容器内部
docker exec -it 容器id /bin/bash
cd config
vi kibana.yml
添加 i18n.locale: “zh-CN” 保存退出
重启容器
10.安装ik分词器: 版本要与ElasticSearch版本对应
下载到zip包拷贝到容器内部 https://github.com/medcl/elasticsearch-analysis-ik/releases
先docker ps -a 获取容器id
docker cp elasticsearch-analysis-ik-7.12.1.zip 容器id:/usr/share/elasticsearch/plugins/
进入镜像后 cd plugins
mkdir ik
mv elasticsearch-analysis-ik-7.12.1.zip plugins
unzip elasticsearch-analysis-ik-7.12.1.zip plugins
rm -rf elasticsearch-analysis-ik-7.12.1.zip plugins
退出容器 exit
重启该容器 docker ps
docker restart 容器id
docker更换镜像
vim /etc/docker/daemon.json
没有文件直接新增
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker