Docker安装ElasticSearch8.X docker安装elasticsearch8.X完整详细教程

Docker 上安装 ElasticSearch 8.8.1 的步骤:

选择要安装的ElasticSearch 版本

Docker ElasticSearch 官方仓库
Docker 生产环境安装Elasticsearch教程

在这里插入图片描述

1、拉取 ElasticSearch 镜像

我这边选择的版本是 docker pull elasticsearch:8.8.1在终端中执行以下命令以拉取 docker pull elasticsearch:8.8.1根据自己使用过的版本:

docker pull elasticsearch:8.8.1

2、创建并运行容器

使用以下命令创建一个新的 rabbitmq容器并将其启动:

docker run --name some-elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:8.8.1

--name 是 容器别名
将 宿主机 9200端口映射到 容器内9200
and 端口9300端口映射到 容器内9300 端口,访问宿主机端口的时候会映射到对应容器端口
-e 表示额外参数
"discovery.type=single-node" 表示 指定 Elasticsearch 节点在单节点模式下运行,即启动一个独立的 Elasticsearch 实例而不是一个多节点集群

表示 -d 表示后台运行。

关闭容器

docker stop some-elasticsearch

启动容器

docker start some-elasticsearch

重启容器

docker restart some-elasticsearch

3、elasticsearch常用端口以及作用

  • 9200端口:是用于Elasticsearch节点之间的内部通信和数据传输的端口,也称为传输层端口。

  • 9300端口:用于HTTP REST API与Elasticsearch进行通信和操作的端口。

4、测试,是否启动成功

注意! es8.0以上默认开启了 ssl 认证

直接访问 : http://127.0.0.1:9200 是无法访问的,需要访问 https,或者关闭 SSL认证

扫描二维码关注公众号,回复: 16208248 查看本文章

使用浏览器打开 https://127.0.0.1:9200

自Elasticsearch 7.8.0版本开始,Elasticsearch 不再提供默认的用户名和密码。相反,它采用了内置安全特性,并引入了超级用户(superuser)角色和内置用户(built-in users)概念来管理访问控制。

在新安装的情况下,您需要设置一个初始的内置用户以及相关的登录凭据。可以通过修改 Elasticsearch 的配置文件(elasticsearch.yml)来完成此操作。以下是一个示例:

Docker ElastIcSearch容器配置文件路径

进入容器

docker exec -it some-elasticsearch bash

找到配置文件路径

cd  /usr/share/elasticsearch/config

打开 elasticsearch.yml 文件 找到 xpack.security.enabled: true 改为 xpack.security.enabled: false,这样就可以直接 使用http访问,并且不需要账号密码鉴权,这个设置看个人情况,如果是生产环境建议开始开启 https和账号密码鉴权

重启容器

docker restart some-elasticsearch

在访问 http://127.0.0.1:9200

5、安装ElastIcSearch 可视化管理界面

5.1 使用 ElasticSearch Head可视化管理界面

1、拉取es-head镜像

docker pull mobz/elasticsearch-head:5

2、启动 es-head

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

9100表示 es-head访问端口,开启主机与容器端口映射

3、访问 es-head

容器启动之后使用浏览器访问 http://127.0.0.1:9100

http://127.0.0.1:9100

在链接地址处填写 ES 服务的地址即可
在这里插入图片描述
如果连接 Elastic Search出现跨域异常,需要配置 Elasticsearch允许跨域请求

Docker ElastIcSearch容器配置文件路径

进入容器

docker exec -it some-elasticsearch bash

找到配置文件路径

cd  /usr/share/elasticsearch/config

打开 elasticsearch.yml 文件 加上以下配置支持跨域请求

http.cors.enabled: true
http.cors.allow-origin: "*"

在这里插入图片描述

重启容器 在使用 es-head重新连接ElasticSearch

docker restart some-elasticsearch

5.2 使用 Kibana 可视化管理界面

也可以用 elasticsearch head 可视化管理界面,根据自己喜欢用哪个

1、拉取Kibana镜像

docker pull kibana:8.8.1

2、启动 Kibana

docker run --name some-kibana -p 5601:5601 -d kibana:8.8.1

5601表示 Kibana 访问端口,开启主机与容器端口映射

3、配置 Kibana

Kibana容器配置文件路径

进入容器

docker exec -it some-kibana bash

找到配置文件路径

cd  /usr/share/kibana/config

打开 kibana.yml 文件 增加 csp.strict: false 设置 CSP 启用 Kibana 模式,如果为 true那么会对浏览器进行安全检查,官方CSP配置说明

增加i18n.locale: "zh-CN" 配置中文
elasticsearch.hosts: [ "http://elasticsearch:9200" ] 改为 具体 Elasticsearch 通信地址

kibana.yml修改前

在这里插入图片描述
kibana.yml修改后

在这里插入图片描述

退出容器

exit

重启容器

docker restart some-kibana

3、访问 Kibana

http://127.0.0.1:5601
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40739917/article/details/131654563