docker安装elasticsearch8.8.1+ kibana8.8.1
1、选择合适的目录创建docker挂载的目录,最好使用chmod -R 777给这两个文件夹及其子目录文件都设置好权限,避免出现权限的问题

2、首先创建elastic的docker网络
docker network create elastic

3、使用如下命令创建一个临时容器
docker run -d --name es8 -p 9200:9200 -p 9300:9300 --network elastic \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "ELASTIC_PASSWORD=123456" \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:8.8.1
4、使用docker cp的命令复制临时容器中的文件到本地挂载目录中(尽可能直接复制容器中的文件,自己预先写的文件在挂载启动时可能会因为缺少一些东西,导致无法启动,所以干脆把临时容器里的文件都原样拷贝过来)
docker cp es8:/usr/share/elasticsearch/data /opt/es8
docker cp es8:/usr/share/elasticsearch/plugins /opt/es8
docker cp es8:/usr/share/elasticsearch/config /opt/es8
docker cp es8:/usr/share/elasticsearch/logs /opt/es8

5、docker run 启动-v挂载的容器
docker run -d --name es8 \
-p 9200:9200 -p 9300:9300 \
--network elastic \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "ELASTIC_PASSWORD=123456" \
-e "discovery.type=single-node" \
-v "/opt/es8/data:/usr/share/elasticsearch/data" \
-v "/opt/es8/plugins:/usr/share/elasticsearch/plugins" \
-v "/opt/es8/config:/usr/share/elasticsearch/config" \
-v "/opt/es8/logs:/usr/share/elasticsearch/logs" \
-t docker.elastic.co/elasticsearch/elasticsearch:8.8.1
6、在kibana8目录下创建conf文件夹, conf目录下创建 kibana.yml

i18n.locale: "zh-CN"
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: ["http://es8:9200"]
monitoring.ui.container.elasticsearch.enabled: true
xpack.reporting.roles.enabled: false
elasticsearch.username: "kibana_system"
elasticsearch.password: "密码自己设置"
docker run -d \
--name kibana8 \
--network elastic \
-p 5601:5601 \
-v /opt/kibana8/conf:/usr/share/kibana/config \
docker.elastic.co/kibana/kibana:8.8.1
7、设置elasticsearch8集群的密码,其中在/opt/es8/config/elasticsearch.yml的配置为
cluster.name: "es8-node"
network.host: 0.0.0.0
discovery.type: single-node
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 24-05-2025 07:20:42
#
# --------------------------------------------------------------------------------
# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: false
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
xpack.license.self_generated.type: basic
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
8、docker登录es8的docker容器,使用./bin/elasticsearch-setup-passwords interactive的命令设置所有密码
9、在/opt/kibana8/conf/kibana.yml中配置

10、加入ik分词器,打开这个网站:https://release.infinilabs.com/analysis-ik/stable/,把对应es版本的ik分词包放入/opt/es8/plugins/ik目录下解压

浙公网安备 33010602011771号