-
Notifications
You must be signed in to change notification settings - Fork 235
/
docker-compose.yml
125 lines (117 loc) · 2.96 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
##Предварительно выполнить на Linux хосте команду: sudo sysctl -w vm.max_map_count=262144
##https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_set_vm_max_map_count_to_at_least_262144
#
##kibana address: http://127.0.0.1:5601 будет доступно через ~1-2 мин
#
#
version: '2.2'
services:
es-hot:
image: elasticsearch:8.7.0
container_name: es-hot
environment:
- node.name=es-hot
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es-hot,es-warm
- cluster.initial_master_nodes=es-hot,es-warm
- node.roles=master,data_content,data_hot
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "http.host=0.0.0.0"
- xpack.security.enabled=false
volumes:
- data01:/usr/share/elasticsearch/data:Z
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- 9200:9200
networks:
- elastic
depends_on:
- es-warm
es-warm:
image: elasticsearch:8.7.0
container_name: es-warm
environment:
- node.name=es-warm
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es-hot,es-warm
- cluster.initial_master_nodes=es-hot,es-warm
- node.roles=master,data_warm
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- xpack.security.enabled=false
- "http.host=0.0.0.0"
volumes:
- data02:/usr/share/elasticsearch/data:Z
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
networks:
- elastic
kibana:
image: kibana:8.7.0
container_name: kibana
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://es-hot:9200
ELASTICSEARCH_HOSTS: '["http://es-hot:9200","http://es-warm:9200"]'
networks:
- elastic
depends_on:
- es-hot
- es-warm
logstash:
image: logstash:8.7.0
container_name: logstash
environment:
- "LS_JAVA_OPTS=-Xms256m -Xmx256m"
ports:
- 5046:5046
- 5044:5044
volumes:
- ./configs/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:Z
- ./configs/logstash.yml:/opt/logstash/config/logstash.yml:Z
networks:
- elastic
depends_on:
- es-hot
- es-warm
filebeat:
image: elastic/filebeat:8.7.0
container_name: filebeat
privileged: true
user: root
command: filebeat -e -strict.perms=false
volumes:
- ./configs/filebeat.yml:/usr/share/filebeat/filebeat.yml:Z
- /var/lib/docker:/var/lib/docker:Z
- /var/run/docker.sock:/var/run/docker.sock:Z
depends_on:
- logstash
networks:
- elastic
some_application:
image: library/python:3.9-alpine
container_name: some_app
volumes:
- ./pinger/:/opt/:Z
entrypoint: python3 /opt/run.py
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
networks:
elastic:
driver: bridge