docker下安装elasticsearch

docker下安装elasticsearch

1、elasticsearch安装

1.1 拉取镜像

首先从阿里云拉取镜像:

docker pull docker.elastic.co/elasticsearch/elasticsearch

默认拉取的是最新的latest版本,但是会报错,所以我们要指定版本

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.0

在这里插入图片描述

我这里使用的7.3.0版本,如果需要其他版本, 可以在https://hub.docker.com/
中查找适合自己的版本.
在这里插入图片描述

1.2 启动镜像

为了方便,使用开发者模式启动

1.2.1 创建网络
 docker network create esnet

在这里插入图片描述

1.2.2 启动镜像
 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --name es  -p 9200:9200 -p 9300:9300  --network esnet -e "discovery.type=single-node" bdaab402b220

-e ES_JAVA_OPTS 指定内存大小
–name 名称 给容器起个名字

-p 外部访问端口:容器端口 9200是供htpp访问端口,9300是供tcp访问的端口,如果不做端口映射,浏览器就不能访问elasticsearch的服务

–network 网络名 用于多个服务通信与隔离,例如用kibana连接elasticsearch就需要他们在同一个网络下

bdaab402b220 通过docker images命令查看到需要创建的容器id,此处用镜像名也可以

查看镜像是否启动成功

docker ps

在这里插入图片描述
通过查看status,看到镜像启动成功,在浏览器输入http://IP:9200/ ,显示如下:
在这里插入图片描述

2、kibana安装

2.1 拉取镜像

kibana需要指定和es相同的版本

docker pull docker.elastic.co/kibana/kibana:7.3.0
2.2 启动镜像
docker run -it -d -e ELASTICSEARCH_HOSTS=http://ip:9200 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --name kibana -p 5601:5601  --network esnet docker.elastic.co/kibana/kibana:7.3.0

在浏览器输入http://IP:5601/,显示如下
在这里插入图片描述
docker logs 容器ID,发现设置的URL并没有生效还是默认的elasticsearch
这里需要我们手动进入到yml配置文件中进行修改

docker exec -it 容器ID /bin/bash
vi /cofnfig/kibana.yml

把elasticsearch.hosts对应的IP修改能你自己的,然后重启启动容器,应该就可以了。
在这里插入图片描述

注:我的在修改之后还是报错 “Kibana server is not ready yet”
经过网上查询,是防火墙的问题

方法一:关闭防火墙
centos关闭防火墙的操作为

systemctl stop firewalld

方法二: 在防火墙上开发指定端口

firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload

部分参考自文章:https://blog.csdn.net/chihaihai/article/details/103254025

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值