1、添加docker-compose.yml文件
version: '3.1'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
container_name: elasticsearch
environment:
- "discovery.type=single-node"
- "bootstrap.memory_lock=true"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./data:/usr/share/elasticsearch/data
- ./plugins:/usr/share/elasticsearch/plugins
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
- 9300:9300
#restart: always
networks:
- bq_pro
kibana:
image: docker.elastic.co/kibana/kibana:7.9.3
container_name: kibana
depends_on:
- elasticsearch
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
environment:
- "ELASTICSEARCH_URL=http://elasticsearch:9200"
- "I18N_LOCALE=zh-CN"
ports:
- 5601:5601
#restart: always
networks:
- bq_pro
networks:
bq_pro:
external: true
2、添加elasticsearch.yml文件
# 设置集群名称为elasticsearch
cluster.name: "docker-cluster"
# 网络访问限制
network.host: 0.0.0.0
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 18-01-2024 05:45:35
#
# --------------------------------------------------------------------------------
# 集群节点名称
#node.name: "elastic01"
# 以单一节点模式启动
discovery.type: single-node
# 是否支持跨域
http.cors.enabled: true
# 表示支持所有域名
http.cors.allow-origin: "*"
# 内存交换的选项,官网建议为true
bootstrap.memory_lock: true
# Enable security features
xpack.security.enabled: false
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
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
3、添加kibana.yml文件
#内容如下:
server.name: kibana
# kibana的主机地址 0.0.0.0可表示监听所有IP
server.host: "0.0.0.0"
# kibana访问es的URL
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
elasticsearch.username: 'elastic'
elasticsearch.password: 'java@2023#'
# 显示登陆页面
xpack.monitoring.ui.container.elasticsearch.enabled: true
# 语言
i18n.locale: "zh-CN"
设置密码
进入到elasticsearch容器执行:
#进入到容器
docker exec -it elasticsearch bash
#到bin目录
cd /usr/share/elasticsearch/bin
#设置密码
elasticsearch-setup-passwords interactive
# 输入y 然后依次设置密码即可
# 重置 elastic 用户密码
docker exec -it elasticsearch-8.8.1 /usr/share/elasticsearch/bin/elasticsearch-reset-password -uelastic
# 重置 kibana_system 用户密码
docker exec -it elasticsearch-8.8.1 /usr/share/elasticsearch/bin/elasticsearch-reset-password -ukibana_system
cd /data/docker/es/elasticsearch/plugins
mkdir ik
unzip elasticsearch-analysis-ik-7.9.3.zip
chmod -R 777 /data/docker/es/elasticsearch/plugins/ik
进入到elasticsearch容器查看插件
docker exec -it elasticsearch bash
cd bin
elasticsearch-plugin list
安装elasticsearch-head
version: '3'
services:
es-head:
image: tobias74/elasticsearch-head:6
container_name: es-head
ports:
- "9100:9100"
docker-compose一键安装elasticsearch和kibana - 简书 (jianshu.com)
测试