创建docker-compose.yml
创建docekr-compose.yml
services:
es01:
container_name: "es01"
image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2
environment:
- discovery.type=single-node
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- TZ=Asia/Shanghai
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ports:
- "9200:9200"
- "9300:9300"
mem_limit: 1g
cpus: "0.5"
volumes:
- ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./es/data:/usr/share/elasticsearch/data
- ./es/plugins:/usr/share/elasticsearch/plugins
networks:
- elastic
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9200"]
interval: 30s
retries: 3
start_period: 30s
timeout: 10s
ulimits:
memlock: -1
kib01:
container_name: "kib01"
image: docker.elastic.co/kibana/kibana:8.12.2
environment:
- ELASTICSEARCH_HOSTS=http://es01:9200
- i18n.locale=zh-CN # 设置 Kibana 界面语言为中文
- ELASTICSEARCH_PASSWORD=${ELASTIC_PASSWORD}
- TZ=Asia/Shanghai
ports:
- "5601:5601"
networks:
- elastic
depends_on:
- es01
entrypoint: ["/bin/bash", "-c", "until curl -s http://es01:9200; do echo 'Waiting for Elasticsearch...'; sleep 5; done; /usr/share/kibana/bin/kibana"]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5601"]
interval: 30s
retries: 3
start_period: 30s
timeout: 10s
networks:
elastic:
driver: bridge
创建数据卷目录
创建配置文件夹、数据文件夹、插件,并且给这几个文件夹授予权限,否则会启动失败
mkdir -p ./es/config
mkdir -p ./es/data
mkdir -p ./es/plugins
chmod 777 -R es/
mkdir -p ./kibana/config
mkdir -p ./kibana/data
chmod 777 -R kibana/
创建elasticsearch.yml
vim es/config/elasticsearch.yml
粘贴下面文本到elasticsearch.yml
# 配置host为0.0.0.0 允许远程访问
http.host: 0.0.0.0
# 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
# 开启密码访问
xpack.security.enabled: true
创建kibana.yml配置文件
vim kibana/config/kibana.yml
粘贴下面文本到kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
创建.env,通过环境变量设置密码
ELASTIC_PASSWORD=elastic
启动服务
在 docker-compose.yml的同级目录下执行如下命令启动服务:
docker-compose up -d
验证服务
我们在浏览器中访问:http://192.168.59.13:9200,弹出登录弹框,输入账户和密码
账户:elastic
密码:elastic
访问 Kibana
访问 Kibana UI: 在浏览器中访问 http://ip:5601,你将能够看到 Kibana 的界面,并且可以开始使用它来可视化 Elasticsearch 中的数据。
配置ES
输入es的地址,点击检查
输入验证码
检查通过后,会需要进行验证
进入kin01实例中
docker exec -it kib01 bash
查看验证码
bin/kibana-verification-code
输入验证码即可访问 Kibana