docker pull elasticsearch:8.8.1
2、创建并运行容器
使用以下命令创建一个新的 elasticsearch 容器并将其启动:
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常用端口以及作用
9300
端口:是用于Elasticsearch节点之间的内部通信和数据传输的端口,多用于集群在多个节点中通信。9200
端口:用于HTTP REST API与Elasticsearch进行通信和操作的端口。
4、测试,是否启动成功
注意! es8.0以上默认开启了 ssl 认证
直接访问 : http://127.0.0.1:9200 是无法访问的,需要访问 https,或者关闭 SSL认证
使用浏览器打开 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