Skip to content

Commit 81bcc50

Browse files
committed
Use docker-compose to spin up a local CockroachDB cluster for testing
1 parent afbbb5a commit 81bcc50

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

Makefile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
COMPOSE=docker-compose -f docker-compose.yml
12
ENV_BASE=~/envs
23
ENV=${ENV_BASE}/sqlalchemy-cockroachdb
34
TOX=${ENV}/bin/tox
@@ -38,3 +39,15 @@ clean:
3839
.PHONY: detox
3940
detox: clean
4041
rm -rf .tox
42+
43+
.PHONY: db-up
44+
db-up:
45+
${COMPOSE} up -d
46+
47+
.PHONY: db-down
48+
db-down:
49+
${COMPOSE} down
50+
51+
.PHONY: db-recreate
52+
db-recreate:
53+
${COMPOSE} exec cockroach-0 ./cockroach sql --insecure -e 'drop database defaultdb; create database defaultdb;'

docker-compose.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
version: "3.7"
2+
3+
x-cockroach-base: &cockroach-base
4+
image: cockroachdb/cockroach:latest-v21.1
5+
6+
services:
7+
cockroach-0:
8+
<<: *cockroach-base
9+
container_name: cockroach-0
10+
command: start --insecure --advertise-addr=cockroach-0 --join=cockroach-0,cockroach-1,cockroach-2 --store=type=mem,size=1GB
11+
ports:
12+
- "26257:26257"
13+
14+
cockroach-1:
15+
<<: *cockroach-base
16+
container_name: cockroach-1
17+
command: start --insecure --advertise-addr=cockroach-1 --join=cockroach-0,cockroach-1,cockroach-2 --store=type=mem,size=1GB
18+
19+
cockroach-2:
20+
<<: *cockroach-base
21+
container_name: cockroach-2
22+
command: start --insecure --advertise-addr=cockroach-2 --join=cockroach-0,cockroach-1,cockroach-2 --store=type=mem,size=1GB
23+
24+
cockroach-init:
25+
<<: *cockroach-base
26+
container_name: cockroach-init
27+
depends_on:
28+
- cockroach-0
29+
- cockroach-1
30+
- cockroach-2
31+
command: init --insecure --host=cockroach-0

0 commit comments

Comments
 (0)