ps: 本人看了无数的帖子,很多的解决办法都是无效的,甚至都是重复的,所以有了这篇文章。
1、下载镜像
docker pull elasticsearch:7.9.2
docker pull kibana:7.9.2
注意:两者的版本必须相同
2、 配置挂载的文件夹以及修改配置文件
mkdir /mydata/elasticsearch/config
mkdir /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml ## 注意: ":"后面有一个空格
chmod -R 777 /mydata/elasticsearch
注意使用给挂载文件夹全部权限,否则后面会出现权限不允许的情况
3、设置docker 网络
设置这一步骤是为了解决在后面kibana的连接elasticsearch的时候连接不上
docker network create --subnet=172.18.0.0/16 mynetwork
4、启动Elasticsearch
docker run --name elasticsearch --privileged=true -p 9200:9200 -p 9300:9300 \
--net mynetwork --ip 172.18.0.2 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-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.9.2
如果使用浏览器访问 虚拟机9200端口查看是否可以打开该页面,说明已经安装成功
5、查看docker设置的网络
docker inspect elasticsearch | grep IPAddress
6、启动kibana
docker run --name kibana --net mynetwork -e ELASTICSEARCH_HOSTS=http://172.18.0.2:9200 -p 5601:5601 -d kibana:7.9.2
在后面的启动过程中注意,要先启动elasticsearch 在启动kibana, 否则启动elasticsearch会出现错误.