linux docker安装 elasticsearh 、kibana教程
(1)、docker拉取软件
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2 (可以选择不安装 是一个可视化界面 版本需要保持一致)
(2)、创建挂在目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
将es中配置文件挂载到外面的目录,通过修改虚拟机外面的文件夹es配置,进而修改docker中es的配置
echo "http.host: 0.0.0.0">> /mydata/elasticsearch/config/elasticsearch.yml
写了一个配置 http.host:0.0.0.0 代表es可以被远程的任何机器访问,注意这里host:后需要有空格
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命令,
- –name 为容器起一个名字为elasticsearch,-p暴露两个端口 9200 9300,
- 9200是发送http请求——restapi的端口,
- 9300是es在分布式集群状态下,结点之间的通信端口,
- \代表换行下一行,
- -e single-node 是以单节点方式运行,
- ES_JAVA_OPTS不指定的话,es一启动,会将内存全部占用,整个虚拟机就卡死了,
- -v 进行挂载,目录中配置,数据等一一关联
- -d 后台启动es使用指定的镜像
安装完 elasticsearch 后我们来启动一下,会发现使用docker ps命令查看启动的容器时没有找到我们的 es,这是因为目前 es 的配置文件的权限导致的,因此我们还需要修改一下 es 的配置文件的权限:
chmod -R 777 /mydata/elasticsearch/
测试是否成功
Docker安装Kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://182.92.241.248:9200 -p 5601:5601 -d kibana:7.4.2
访问5601端口,访问到可视化界面kibana,kibana再先发送请求到es9200