下载镜像
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
创建实例
ElasticSearch
前置准备
## 创建两个文件夹,存配置和数据
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/plugins
## 保证权限
chmod -R 777 /mydata/elasticsearch
## 写入配置,代表es可以被远程任何机器访问
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
运行镜像
## 9200:http请求端口;9300:分布式集群调用端口;单节点运行;指定内存大小,如果不指定可能占满虚拟机内存;路径挂载
docker run --name elasticsearch -p 9200:9200 -p9300: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.4.2
查看是否启动成功,在浏览器输入ip:9200,如下返回代表成功:
如果没成功,查看镜像是否启动,查看一下日志
## 列举启动的镜像
docker ps
## 如果没有启动成功,查看一下日志
docker logs elasticsearch
## 解决后重新启动,容器id启动如下
docker start c8e9cdaa17d1
Kibana
运行镜像
## 192.168.91.128为自己的虚拟机的地址
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.91.128:9200 -p 5601:5601 \
-d kibana:7.4.2
如果出现:Kibana server is not ready yet
可查看防火墙是否关闭:
## 查看防火墙状态
systemctl status firewalld.service
## 关闭防火墙
systemctl stop firewalld.service
或者查看日志:
docker logs kibana
在浏览器输入:http://192.168.91.128:5601
更新容器每次开机自启
## 容器id的方式,让容器开机自启
docker update c8e9cdaa17d1 --restart=always