博客博客
  • 介绍
  • 链表反转
  • 排序算法
  • 二叉树

    • 介绍
    • 深度算法
  • 加密算法

    • 非对称加密
    • 摘要算法
    • 对称加密
  • 激活Windows 11
  • ASP.NET Core 健康检查
  • 获取程序集根目录
  • 闭包
  • CSS 单位指南:CSS em、rem、vh、vw 等详解
  • 自定义Code First约定
  • .NET安装本地化的智能提示
  • 免费开通域名企业邮箱
  • GRPC
  • Hexo生成github page
  • .Net Core日志管理之Log4net
  • linux下更新jenkins
  • MySQL的四种事务隔离级别
  • 发布NuGet包
  • rimraf命令
  • Ubuntu基础操作
  • Ubuntu安装jenkins
  • Vscode无法执行npm等脚本的问题
  • Json

    • Countries
  • 简介
  • 设计原则
  • 行为型模式

    • 介绍
    • 策略模式
  • 创建型模式

    • 介绍
    • 单例模式
  • 结构型模式

    • 介绍
  • Docker指南

    • 介绍
    • 安装
  • Docker实例

    • 介绍
    • docker安装consul
    • docker安装elasticsearch
    • docker安装gitlab-runner
    • docker安装gitlab
    • docker安装jenkins
    • docker安装kafka
    • docker安装mongo
    • docker安装mysql
    • docker安装nginx
    • docker安装portainer
    • docker安装rabbitmq
    • docker安装redis
    • docker安装teamcity
  • Docker教程

    • Docker命令大全
    • docker nginx添加端口映射
    • docker服务管理
  • Docker-Compose

    • 网络配置
    • service name和container name
  • 世界上的另一个我
  • 计划生育宣传标语
  • IT术语
  • Single is simple, double is trouble
  • 矿泉水、纯净水、天然水究竟有啥区别
  • 联系
  • 捐赠
GitHub
  • 介绍
  • 链表反转
  • 排序算法
  • 二叉树

    • 介绍
    • 深度算法
  • 加密算法

    • 非对称加密
    • 摘要算法
    • 对称加密
  • 激活Windows 11
  • ASP.NET Core 健康检查
  • 获取程序集根目录
  • 闭包
  • CSS 单位指南:CSS em、rem、vh、vw 等详解
  • 自定义Code First约定
  • .NET安装本地化的智能提示
  • 免费开通域名企业邮箱
  • GRPC
  • Hexo生成github page
  • .Net Core日志管理之Log4net
  • linux下更新jenkins
  • MySQL的四种事务隔离级别
  • 发布NuGet包
  • rimraf命令
  • Ubuntu基础操作
  • Ubuntu安装jenkins
  • Vscode无法执行npm等脚本的问题
  • Json

    • Countries
  • 简介
  • 设计原则
  • 行为型模式

    • 介绍
    • 策略模式
  • 创建型模式

    • 介绍
    • 单例模式
  • 结构型模式

    • 介绍
  • Docker指南

    • 介绍
    • 安装
  • Docker实例

    • 介绍
    • docker安装consul
    • docker安装elasticsearch
    • docker安装gitlab-runner
    • docker安装gitlab
    • docker安装jenkins
    • docker安装kafka
    • docker安装mongo
    • docker安装mysql
    • docker安装nginx
    • docker安装portainer
    • docker安装rabbitmq
    • docker安装redis
    • docker安装teamcity
  • Docker教程

    • Docker命令大全
    • docker nginx添加端口映射
    • docker服务管理
  • Docker-Compose

    • 网络配置
    • service name和container name
  • 世界上的另一个我
  • 计划生育宣传标语
  • IT术语
  • Single is simple, double is trouble
  • 矿泉水、纯净水、天然水究竟有啥区别
  • 联系
  • 捐赠
GitHub
  • Docker指南

    • 介绍
    • 安装
  • Docker实例

    • 介绍
    • docker安装consul
    • docker安装elasticsearch
    • docker安装gitlab-runner
    • docker安装gitlab
    • docker安装jenkins
    • docker安装kafka
    • docker安装mongo
    • docker安装mysql
    • docker安装nginx
    • docker安装portainer
    • docker安装rabbitmq
    • docker安装redis
    • docker安装teamcity
  • Docker教程

    • Docker命令大全
    • docker nginx添加端口映射
    • docker服务管理
  • Docker-Compose

    • 网络配置
    • service name和container name

安装ElasticSearch

  • 拉取镜像

docker仓库里面没有latest标签,目前最新版本是8.5.1

docker pull elasticsearch:8.5.1
  • 构建容器

首先新建网络(对于连接到同一网络上的其他服务(例如Kibana)很有用)

docker network create elastic

开始构建elasticsearch容器

docker run -it --name elasticsearch \
  --net elastic \
  --restart always \
  -p 9200:9200 \
  -p 9300:9300 \
  # -v /srv/elasticsearch/config:/usr/share/elasticsearch/config \
  -e "discovery.type=single-node" \
  elasticsearch:8.5.1

提醒

从Elasticsearch 8.0开始默认启用了安全性,也就是启用了TLS加密,在访问时需要带https

访问记得带https

访问记得带https

访问记得带https

在docker中启动单节点Elasticsearch集群,会自动进行以下安全配置:

  • 为传输层和HTTP层生成证书和密钥。
  • 传输层安全 (TLS) 配置设置被写入elasticsearch.yml.
  • 为elastic用户生成密码。
  • 为Kibana生成一个注册令牌。

容器运行起来后,密码和注册令牌仅在第一次启动Elasticsearch的控制台显示,所以这里不建议后台运行容器(-d)

当然通过查看输出日志也能得到相关信息

docker logs -f elasticsearch

访问https://localhost:9200, 输入elastic / 密码验证,密码就是刚才屏幕上显示的,我们也可以进入容器通过bin/elasticsearch-reset-password -u elastic命令来重置密码。

  • 配置跨域

首先进入容器

docker exec -it elasticsearch /bin/bash

修改配置信息

# 修改elasticsearch.yml文件
vim config/elasticsearch.yml

# 在最后面加入跨域配置
http.cors.enabled: true #开启跨域访问支持,默认为false
http.cors.allow-origin: "*" #跨域访问允许的域名地址,(允许所有域名)以上使用正则
  • 重启容器

由于修改了配置信息,需要重启才能生效

docker restart elasticsearch

安装Kibana

kibana 是一款适用于 es 的 数据可视化和管理工具, 可以提供实时的直方图、线形图、饼状图和地图

支持用户安全权限体系, 支持各种纬度的插件, 通常搭配 es、logstash 一起使用

  • 拉取镜像

    kibana的版本最好与elasticsearch保持一致, 避免发生不必要的错误

    docker pull kibana:8.5.1
    
  • 安装容器

    为了方便管理,与elasticsearch使用同一网络

    docker run --restart=always --name kibana --net elastic -p 5601:5601 kibana:8.5.1
    

    现在浏览器访问5601端口,启动成功

配置Kibana

进入系统后可以手动配置,也可以直接输入token进行配置

在这里我们直接采用token配置方式,这里的token就是在第一次运行elasticsearch容器时出现的用于配置kibana的token

下一步kibana要求输入验证码,验证码可以通过两种方式获得

和elasticsearch一样,验证码此时会在控制台输出,我们可以通过查看日志获得

docker logs -f kibana

或者进入kibana容器执行bin/kibana-verification-code命令获得

# 进入容器
docker exec -it kibana /bin/bash

# 获取验证码
bin/kibana-verification-code

输入验证码后,接下来会进入一个登录界面,这里就是使用上面提到的elastic/密码账号登录即可,登录成功后我们也可以在系统里面编辑个人信息中修改密码等

安装ElasticSearch-Head

ElasticSearch-Head是一个管理界面,可以查看ElasticSearch的相关信息

这只是为了方便用户查看的一个GUI工具,对开发人员来说并不是必需的

Google Chrome插件

如果安装了Google Chrome浏览器,可以直接安装ElasticSearch-Head插件即可使用,非常方便,推荐此方法

Docker

拉取镜像

docker pull mobz/elasticsearch-head:5

运行并部署

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

通过访问9100端口就可以查看管理界面,然后在文本框输入elasticsearch的访问地址(9200端口),点击连接即可看到相关信息

相关链接

Docker 简单部署 ElasticSearch

ElasticSearch入门 附.Net Core例子

Prev
docker安装consul
Next
docker安装gitlab-runner