docker: add cluster mode

This commit is contained in:
Chris Lu 2020-02-26 16:46:29 -08:00
parent 0156e2975a
commit c4de814347
5 changed files with 114 additions and 58 deletions

View file

@ -2,7 +2,18 @@ all: gen
.PHONY : gen .PHONY : gen
gen: gen: dev
build:
cd ../weed; GOOS=linux go build; mv weed ../docker/ cd ../weed; GOOS=linux go build; mv weed ../docker/
docker-compose -f local-dev-compose.yml -p seaweedfs up docker build --no-cache -t chrislusf/seaweedfs:local -f Dockerfile.go_build .
rm ./weed
dev: build
docker-compose -f local-dev-compose.yml -p seaweedfs up
cluster: build
docker-compose -f local-cluster-compose.yml -p seaweedfs up
clean:
rm ./weed rm ./weed

View file

@ -0,0 +1,53 @@
version: '2'
services:
master0:
image: chrislusf/seaweedfs:local
ports:
- 9333:9333
- 19333:19333
command: "master -ip=master0 -port=9333 -peers=master0:9333,master1:9334,master2:9335"
master1:
image: chrislusf/seaweedfs:local
ports:
- 9334:9334
- 19334:19334
command: "master -ip=master1 -port=9334 -peers=master0:9333,master1:9334,master2:9335"
master2:
image: chrislusf/seaweedfs:local
ports:
- 9335:9335
- 19335:19335
command: "master -ip=master2 -port=9335 -peers=master0:9333,master1:9334,master2:9335"
volume:
image: chrislusf/seaweedfs:local
ports:
- 8080:8080
- 18080:18080
command: '-v=2 volume -max=5 -mserver="master0:9333,master1:9334,master2:9335" -port=8080 -ip=volume'
depends_on:
- master0
- master1
- master2
filer:
image: chrislusf/seaweedfs:local
ports:
- 8888:8888
- 18888:18888
command: '-v=4 filer -master="master0:9333,master1:9334,master2:9335"'
depends_on:
- master0
- master1
- master2
- volume
s3:
image: chrislusf/seaweedfs:local
ports:
- 8333:8333
command: '-v=4 s3 -filer="filer:8888" -waitForFiler'
depends_on:
- master0
- master1
- master2
- volume
- filer

View file

@ -2,42 +2,34 @@ version: '2'
services: services:
master: master:
build: image: chrislusf/seaweedfs:local
context: .
dockerfile: Dockerfile.go_build
ports: ports:
- 9333:9333 - 9333:9333
- 19333:19333 - 19333:19333
command: "master -ip=master" command: "master -ip=master"
volume: volume:
build: image: chrislusf/seaweedfs:local
context: .
dockerfile: Dockerfile.go_build
ports: ports:
- 8080:8080 - 8080:8080
- 18080:18080 - 18080:18080
command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume' command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume'
depends_on: depends_on:
- master - master
filer: filer:
build: image: chrislusf/seaweedfs:local
context: .
dockerfile: Dockerfile.go_build
ports: ports:
- 8888:8888 - 8888:8888
- 18888:18888 - 18888:18888
command: '-v=4 filer -master="master:9333"' command: '-v=4 filer -master="master:9333"'
depends_on: depends_on:
- master - master
- volume - volume
s3: s3:
build: image: chrislusf/seaweedfs:local
context: .
dockerfile: Dockerfile.go_build
ports: ports:
- 8333:8333 - 8333:8333
command: '-v=4 s3 -filer="filer:8888"' command: '-v=4 s3 -filer="filer:8888" -waitForFiler'
depends_on: depends_on:
- master - master
- volume - volume
- filer - filer

View file

@ -4,28 +4,28 @@ services:
master: master:
image: chrislusf/seaweedfs # use a remote image image: chrislusf/seaweedfs # use a remote image
ports: ports:
- 9333:9333 - 9333:9333
- 19333:19333 - 19333:19333
command: "master -ip=master" command: "master -ip=master"
volume: volume:
image: chrislusf/seaweedfs # use a remote image image: chrislusf/seaweedfs # use a remote image
ports: ports:
- 8080:8080 - 8080:8080
- 18080:18080 - 18080:18080
command: 'volume -max=15 -mserver="master:9333" -port=8080' command: 'volume -max=15 -mserver="master:9333" -port=8080'
depends_on: depends_on:
- master - master
filer: filer:
image: chrislusf/seaweedfs # use a remote image image: chrislusf/seaweedfs # use a remote image
ports: ports:
- 8888:8888 - 8888:8888
- 18888:18888 - 18888:18888
command: 'filer -master="master:9333"' command: 'filer -master="master:9333"'
tty: true tty: true
stdin_open: true stdin_open: true
depends_on: depends_on:
- master - master
- volume - volume
cronjob: cronjob:
image: chrislusf/seaweedfs # use a remote image image: chrislusf/seaweedfs # use a remote image
command: 'cronjob' command: 'cronjob'
@ -34,14 +34,14 @@ services:
CRON_SCHEDULE: '*/2 * * * * *' # Default: '*/5 * * * * *' CRON_SCHEDULE: '*/2 * * * * *' # Default: '*/5 * * * * *'
WEED_MASTER: master:9333 # Default: localhost:9333 WEED_MASTER: master:9333 # Default: localhost:9333
depends_on: depends_on:
- master - master
- volume - volume
s3: s3:
image: chrislusf/seaweedfs # use a remote image image: chrislusf/seaweedfs # use a remote image
ports: ports:
- 8333:8333 - 8333:8333
command: 's3 -filer="filer:8888"' command: 's3 -filer="filer:8888" -waitForFiler'
depends_on: depends_on:
- master - master
- volume - volume
- filer - filer

View file

@ -4,32 +4,32 @@ services:
master: master:
image: chrislusf/seaweedfs:dev # use a remote dev image image: chrislusf/seaweedfs:dev # use a remote dev image
ports: ports:
- 9333:9333 - 9333:9333
- 19333:19333 - 19333:19333
command: "master -ip=master" command: "master -ip=master"
volume: volume:
image: chrislusf/seaweedfs:dev # use a remote dev image image: chrislusf/seaweedfs:dev # use a remote dev image
ports: ports:
- 8080:8080 - 8080:8080
- 18080:18080 - 18080:18080
command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume' command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume'
depends_on: depends_on:
- master - master
filer: filer:
image: chrislusf/seaweedfs:dev # use a remote dev image image: chrislusf/seaweedfs:dev # use a remote dev image
ports: ports:
- 8888:8888 - 8888:8888
- 18888:18888 - 18888:18888
command: '-v=4 filer -master="master:9333"' command: '-v=4 filer -master="master:9333"'
depends_on: depends_on:
- master - master
- volume - volume
s3: s3:
image: chrislusf/seaweedfs:dev # use a remote dev image image: chrislusf/seaweedfs:dev # use a remote dev image
ports: ports:
- 8333:8333 - 8333:8333
command: '-v=4 s3 -filer="filer:8888"' command: '-v=4 s3 -filer="filer:8888" -waitForFiler'
depends_on: depends_on:
- master - master
- volume - volume
- filer - filer