创建环境变量文件#
在docker-compose.yml所在目录下创建.env,并键入以下内容
ELK_VERSION=7.14.2docker-compose.yml#
version: "3"
services:
elasticsearch:
image: elasticsearch:${ELK_VERSION}
container_name: elasticsearch-${ELK_VERSION}
environment:
- TZ=Asia/Shanghai
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- 9200:9200
- 127.0.0.1:9300:9300
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - ./elasticsearch/config/:/usr/share/elasticsearch/config/
- ./elasticsearch/data/:/usr/share/elasticsearch/data/
- ./elasticsearch/logs/:/usr/share/elasticsearch/logs/
- ./elasticsearch/plugins:/usr/share/elasticsearch/plugins
networks:
- elk-net
kibana:
image: kibana:${ELK_VERSION}
container_name: kibana-${ELK_VERSION}
depends_on:
- elasticsearch
ports:
- "5601:5601"
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
- ./kibana/config/:/usr/share/kibana/config/
networks:
- elk-net
networks:
elk-net:
driver: bridge补充阅读#
补充单节点 Elasticsearch 与 Kibana 的服务关系、版本匹配和数据目录验证方法。
如何理解与使用#
这是用于理解两项服务如何联通的单节点示例;容器间地址、认证设置和镜像版本需要配套。
验证与边界#
先确认 Elasticsearch 状态,再检查 Kibana 是否成功连接及索引是否可访问;需要保留数据时测试重建容器后的持久化,而不只刷新页面。
