-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
123 lines (114 loc) · 3.02 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
version: '3'
services:
kafrest:
container_name: kafrest
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
environment:
KAFKA_BROKERCONNECT: ${KAFKA_BROKERCONNECT}
networks:
- kafrest
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/status"]
interval: 10s
timeout: 5s
retries: 3
kafrest-latest:
container_name: kafrest-latest
image: mauricioromagnollo/kafrest:latest
ports:
- "8888:8080"
environment:
KAFKA_BROKERCONNECT: ${KAFKA_BROKERCONNECT}
networks:
- kafrest
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8888/status"]
interval: 10s
timeout: 5s
retries: 3
zookeeper:
container_name: kafrest-zookeeper
image: confluentinc/cp-zookeeper:latest
volumes:
- zookeeper-data:/var/lib/zookeeper/data
- zookeeper-log:/var/lib/zookeeper/log
environment:
ZOOKEEPER_CLIENT_PORT: ${ZOOKEEPER_CLIENT_PORT}
ZOOKEEPER_TICK_TIME: ${ZOOKEEPER_TICK_TIME}
networks:
- kafrest
kafka:
container_name: kafrest-kafka
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- 9092:9092
volumes:
- kafka-storage:/var/lib/kafka
environment:
KAFKA_BROKER_ID: ${KAFKA_BROKER_ID}
KAFKA_ZOOKEEPER_CONNECT: ${KAFKA_ZOOKEEPER_CONNECT}
KAFKA_ADVERTISED_LISTENERS: ${KAFKA_ADVERTISED_LISTENERS}
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: ${KAFKA_LISTENER_SECURITY_PROTOCOL_MAP}
KAFKA_INTER_BROKER_LISTENER_NAME: ${KAFKA_INTER_BROKER_LISTENER_NAME}
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: ${KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR}
networks:
- kafrest
healthcheck:
test: ["CMD", "nc", "-z", "-v", "-w3", "kafka", "9092"]
interval: 10s
timeout: 5s
retries: 3
kafka-create-topics:
container_name: kafrest-kafka-create-topics
image: confluentinc/cp-server:7.3.5
depends_on:
- kafka
volumes:
- kafka-storage:/var/lib/kafka
networks:
- kafrest
command: >
bash -c
"kafka-topics --create --topic=sample.foo-topic.0 --if-not-exists --bootstrap-server=${KAFKA_BROKERCONNECT} && \
kafka-topics --create --topic=sample.bar-topic.0 --if-not-exists --bootstrap-server=${KAFKA_BROKERCONNECT}"
mkdocs:
container_name: kafrest-mkdocs
build:
context: .
dockerfile: Dockerfile.mkdocs
image: kafrest-mkdocs-image
ports:
- "8000:8000"
volumes:
- .:/app
networks:
- kafrest
kafdrop:
container_name: kafrest-kafdrop
image: obsidiandynamics/kafdrop:latest
depends_on:
- kafka
ports:
- 19000:9000
environment:
KAFKA_BROKERCONNECT: ${KAFKA_BROKERCONNECT}
networks:
- kafrest
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:9000"]
interval: 10s
timeout: 5s
retries: 3
volumes:
kafka-storage:
zookeeper-data:
zookeeper-log:
networks:
kafrest:
driver: bridge