-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb
executable file
·48 lines (41 loc) · 1.1 KB
/
db
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
#!/usr/bin/env bash
set -Eeuxo pipefail
stop() {
docker container stop ES CASSANDRA REDIS || true
docker network rm chatnet || true
}
trap stop SIGINT SIGQUIT
stop
if [ "${1-}" = "--clear" ]; then
docker volume rm ES-VOLUME || true
docker volume rm CASSANDRA-VOLUME || true
fi
docker volume create ES-VOLUME || true
docker volume create CASSANDRA-VOLUME || true
docker network create chatnet
docker run --rm -d --name ES --net chatnet \
-v ES-VOLUME:/usr/share/elasticsearch/data \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:7.4.2
docker run --rm -d --name CASSANDRA --net chatnet \
-v CASSANDRA-VOLUME:/var/lib/cassandra \
-p 9042:9042 \
cassandra:3.11.5
docker run --rm -d --name REDIS --net chatnet \
-p 6379:6379 \
redis:5
sleep 20
until docker exec CASSANDRA cqlsh -e 'use system;'
do
sleep 5;
done
until curl -X GET "localhost:9200/_cluster/health?wait_for_status=yellow&timeout=50s&pretty";
do
sleep 5;
done
until docker exec REDIS redis-cli ping;
do
sleep 5;
done
sleep infinity