最细致的Docker安装ElasticSearch和kibana并配置

说在前面,安装前请用free -m命令查看available内存是否足够!
在这里插入图片描述

1、下载指定版本镜像,我使用的是7.4.2版本。

docker pull elasticsearch:7.4.2

在这里插入图片描述

2、将es中配置文件挂载到外面的目录,通过修改虚拟机外面的文件夹es配置,进而修改docker中es的配置。-p是递归创建目录,即使上级目录不存在,会按目录层级自动创建目录.

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

在这里插入图片描述

3、写入一个配置 http.host:0.0.0.0 代表es可以被远程的任何机器访问,注意这里host:后需要有空格!!!elasticsearch.yml是写入配置后自动创建出来的。

echo "http.host: 0.0.0.0">> /mydata/elasticsearch/config/elasticsearch.yml

在这里插入图片描述

写入配置后可以cd到/mydata/elasticsearch/config目录中猫(cat)一眼文件内容是否写入成功。

cat elasticsearch.yml

在这里插入图片描述

4、修改 es 的配置文件的权限。不然会发现启动es失败。
cd到 /mydata/elasticsearch/目录下,执行下方赋予/mydata/elasticsearch/目录下所有文件可读可写权限。

chmod -R 777 /mydata/elasticsearch/

在这里插入图片描述
5、释放es镜像。

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.4.2

命令解析:为容器起一个名字为elasticsearch,-p暴露两个端口 9200 9300,
9200是发送http请求——restapi的端口,9300是es在分布式集群状态下,结点之间的通信端口, \代表换行下一行。
-e single-node 是以单节点方式运行,ES_JAVA_OPTS不指定的话,es一启动,会将内存全部占用,整个虚拟机就卡死了。
-v 进行挂载,目录中配置,数据等一一关联 -d 后台启动es使用指定的镜像 z

6、安装kibana,与es版本号一致。

docker pull kibana:7.4.2

7、释放kibana。

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2

千万注意ELASTICSEARCH_HOSTS这个是你的虚拟机地址,复制完命令记得修改!!!

附:当容器启动有问题时,用docker logs 加上dockers ps命令查询出来的CONTAINER ID前三位,即可查看日志。如下图:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42969135/article/details/113529754