aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile.local2
-rw-r--r--docker/Makefile5
-rw-r--r--docker/compose/local-brokers-compose.yml126
3 files changed, 133 insertions, 0 deletions
diff --git a/docker/Dockerfile.local b/docker/Dockerfile.local
index 53cfd9571..b87c0d8e9 100644
--- a/docker/Dockerfile.local
+++ b/docker/Dockerfile.local
@@ -1,6 +1,8 @@
FROM alpine AS final
LABEL author="Chris Lu"
COPY ./weed /usr/bin/
+COPY ./weed_pub /usr/bin/
+COPY ./weed_sub /usr/bin/
RUN mkdir -p /etc/seaweedfs
COPY ./filer.toml /etc/seaweedfs/filer.toml
COPY ./entrypoint.sh /entrypoint.sh
diff --git a/docker/Makefile b/docker/Makefile
index 6d6c88190..f36ffed4a 100644
--- a/docker/Makefile
+++ b/docker/Makefile
@@ -9,6 +9,8 @@ binary:
export SWCOMMIT=$(shell git rev-parse --short HEAD)
export SWLDFLAGS="-X github.com/seaweedfs/seaweedfs/weed/util.COMMIT=$(SWCOMMIT)"
cd ../weed && CGO_ENABLED=$(cgo) GOOS=linux go build $(options) -tags "$(tags)" -ldflags "-s -w -extldflags -static $(SWLDFLAGS)" && mv weed ../docker/
+ cd ../weed/mq/client/cmd/weed_pub && CGO_ENABLED=$(cgo) GOOS=linux go build && mv weed_pub ../../../../../docker/
+ cd ../weed/mq/client/cmd/weed_sub && CGO_ENABLED=$(cgo) GOOS=linux go build && mv weed_sub ../../../../../docker/
binary_race: options = -race
binary_race: cgo = 1
@@ -90,6 +92,9 @@ hashicorp_raft: build
s3tests: build s3tests_build
docker compose -f compose/local-s3tests-compose.yml -p seaweedfs up
+brokers: build
+ docker compose -f compose/local-brokers-compose.yml -p seaweedfs up
+
filer_etcd: build
docker stack deploy -c compose/swarm-etcd.yml fs
diff --git a/docker/compose/local-brokers-compose.yml b/docker/compose/local-brokers-compose.yml
new file mode 100644
index 000000000..5f92d9bad
--- /dev/null
+++ b/docker/compose/local-brokers-compose.yml
@@ -0,0 +1,126 @@
+version: '3.9'
+
+services:
+ master0:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9333:9333
+ - 19333:19333
+ command: "-v=1 master -volumeSizeLimitMB 100 -resumeState=false -ip=master0 -port=9333 -peers=master0:9333,master1:9334,master2:9335 -mdir=/tmp"
+ environment:
+ WEED_MASTER_VOLUME_GROWTH_COPY_1: 1
+ WEED_MASTER_VOLUME_GROWTH_COPY_2: 2
+ WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 1
+ master1:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9334:9334
+ - 19334:19334
+ command: "-v=1 master -volumeSizeLimitMB 100 -resumeState=false -ip=master1 -port=9334 -peers=master0:9333,master1:9334,master2:9335 -mdir=/tmp"
+ environment:
+ WEED_MASTER_VOLUME_GROWTH_COPY_1: 1
+ WEED_MASTER_VOLUME_GROWTH_COPY_2: 2
+ WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 1
+ master2:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9335:9335
+ - 19335:19335
+ command: "-v=1 master -volumeSizeLimitMB 100 -resumeState=false -ip=master2 -port=9335 -peers=master0:9333,master1:9334,master2:9335 -mdir=/tmp"
+ environment:
+ WEED_MASTER_VOLUME_GROWTH_COPY_1: 1
+ WEED_MASTER_VOLUME_GROWTH_COPY_2: 2
+ WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 1
+ volume1:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8080:8080
+ - 18080:18080
+ command: 'volume -dataCenter=dc1 -rack=v1 -mserver="master0:9333,master1:9334,master2:9335" -port=8080 -ip=volume1 -publicUrl=localhost:8080 -preStopSeconds=1'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ volume2:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8082:8082
+ - 18082:18082
+ command: 'volume -dataCenter=dc2 -rack=v2 -mserver="master0:9333,master1:9334,master2:9335" -port=8082 -ip=volume2 -publicUrl=localhost:8082 -preStopSeconds=1'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ volume3:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8083:8083
+ - 18083:18083
+ command: 'volume -dataCenter=dc3 -rack=v3 -mserver="master0:9333,master1:9334,master2:9335" -port=8083 -ip=volume3 -publicUrl=localhost:8083 -preStopSeconds=1'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ filer1:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8888:8888
+ - 18888:18888
+ command: 'filer -defaultReplicaPlacement=100 -iam -master="master0:9333,master1:9334,master2:9335" -port=8888 -ip=filer1'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume1
+ - volume2
+ filer2:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8889:8889
+ - 18889:18889
+ command: 'filer -defaultReplicaPlacement=100 -iam -master="master0:9333,master1:9334,master2:9335" -port=8889 -ip=filer2'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume1
+ - volume2
+ broker1:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 17777:17777
+ command: 'mq.broker -master="master0:9333,master1:9334,master2:9335" -port=17777 -ip=broker1'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume1
+ - volume2
+ - filer1
+ - filer2
+ broker2:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 17778:17778
+ command: 'mq.broker -master="master0:9333,master1:9334,master2:9335" -port=17778 -ip=broker2'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume1
+ - volume2
+ - filer1
+ - filer2
+ broker3:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 17779:17779
+ command: 'mq.broker -master="master0:9333,master1:9334,master2:9335" -port=17779 -ip=broker3'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume1
+ - volume2
+ - filer1
+ - filer2