docker-compose 模板
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

208 lines
5.2 KiB

3 years ago
version: "3.2"
services:
es-master:
container_name: es-master
hostname: es-master
image: elasticsearch:7.4.2
restart: always
ports:
- 9200:9200
- 9300:9300
volumes:
- ./elasticsearch/master/conf/es-master.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./elasticsearch/master/data:/usr/share/elasticsearch/data
- ./elasticsearch/master/logs:/usr/share/elasticsearch/logs
- ./escerts:/usr/share/elasticsearch/config/certs
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- TIMEZONE=Asia/ShangHai
- ELASTIC_PASSWORD=123456
#ulimits:
# memlock:
# soft: -1
# hard: -1
# nofile:
# soft: 65536
# hard: 65536
networks:
- elknet
es-slave1:
container_name: es-slave1
image: elasticsearch:7.4.2
restart: always
ports:
- 9201:9200
- 9301:9300
volumes:
- ./elasticsearch/slave1/conf/es-slave1.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./elasticsearch/slave1/data:/usr/share/elasticsearch/data
- ./elasticsearch/slave1/logs:/usr/share/elasticsearch/logs
- ./escerts:/usr/share/elasticsearch/config/certs
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- TIMEZONE=Asia/ShangHai
#ulimits:
# memlock:
# soft: -1
# hard: -1
# nofile:
# soft: 65536
# hard: 65536
networks:
- elknet
es-slave2:
container_name: es-slave2
image: elasticsearch:7.4.2
restart: always
ports:
- 9202:9200
- 9302:9300
volumes:
- ./elasticsearch/slave2/conf/es-slave2.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./elasticsearch/slave2/data:/usr/share/elasticsearch/data
- ./elasticsearch/slave2/logs:/usr/share/elasticsearch/logs
- ./escerts:/usr/share/elasticsearch/config/certs
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- TIMEZONE=Asia/ShangHai
#ulimits:
# memlock:
# soft: -1
# hard: -1
# nofile:
# soft: 65536
# hard: 65536
networks:
- elknet
# kibana
kibana:
container_name: kibana
hostname: kibana
image: kibana:7.4.2
restart: always
ports:
- 5601:5601
volumes:
- ./kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml
environment:
- elasticsearch.hosts=http://es-master:9200
- TIMEZONE=Asia/ShangHai
depends_on:
- es-master
- es-slave1
- es-slave2
networks:
- elknet
# logstash
logstash:
container_name: logstash
hostname: logstash
image: logstash:7.4.2
command: logstash -f ./conf/logstash-filebeat.conf
restart: always
volumes:
# 映射到容器中
- ./logstash/conf/logstash-filebeat.conf:/usr/share/logstash/conf/logstash-filebeat.conf
- ./logstash/conf/logstash.yml:/usr/share/logstash/config/logstash.yml
environment:
- elasticsearch.hosts=http://es-master:9200
# 解决logstash监控连接报错
- xpack.monitoring.elasticsearch.hosts=http://es-master:9200
- TIMEZONE=Asia/ShangHai
ports:
- 5044:5044
depends_on:
- es-master
- es-slave1
- es-slave2
networks:
- elknet
# filebeat
filebeat:
container_name: filebeat
hostname: filebeat
image: docker.elastic.co/beats/filebeat:7.4.2
restart: always
volumes:
- ./filebeat/conf/filebeat.yml:/usr/share/filebeat/filebeat.yml
- ./logs:/var/log
- /www/docker/log:/var/laravellog
- ./filebeat/logs:/usr/share/filebeat/logs
- ./filebeat/data:/usr/share/filebeat/data
# 将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况
environment:
- TIMEZONE=Asia/ShangHai
links:
- logstash
# 依赖服务[可无]
depends_on:
- es-master
- es-slave1
- es-slave2
networks:
- elknet
# es-head
es-head:
container_name: es-head
image: mobz/elasticsearch-head:5
restart: always
ports:
- 9100:9100
depends_on:
- es-master
- es-slave1
- es-slave2
networks:
- elknet
# es监控工具
cerebro:
container_name: cerebro
image: lmenezes/cerebro
restart: always
ports:
- 9001:9000
command:
- -Dhosts.0.host=http://es-master:9200
networks:
- elknet
# es索引管理
#curator:
# container_name: curator
# image: elastic/curator
# environment:
# ELASTICSEARCH_HOST: http://es-master:9200
# CRON: "30 0 * * *" # 每天 0 点 30 分清理 ${UNIT_COUNT} 天之前的索引
# CONFIG_FILE: /usr/share/curator/config/curator.yml
# COMMAND: /usr/share/curator/config/delete_log_files_curator.yml
# UNIT_COUNT: 10
# network_mode: "host"
# restart: always
# depends_on:
# - es-master
# - es-slave1
# - es-slave2
# docker可视化工具
#portainer:
# container_name: portainer
# image: portainer/portainer
# ports:
# - 9002:9002
# command: -H unix:///var/run/docker.sock
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# - ./portainer-data:/data
# networks:
# - elknet
networks:
elknet:
driver: bridge