Browse Source

docker: add cluster mode

pull/1213/head
Chris Lu 5 years ago
parent
commit
c4de814347
  1. 13
      docker/Makefile
  2. 53
      docker/local-cluster-compose.yml
  3. 44
      docker/local-dev-compose.yml
  4. 32
      docker/seaweedfs-compose.yml
  5. 28
      docker/seaweedfs-dev-compose.yml

13
docker/Makefile

@ -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 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 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

53
docker/local-cluster-compose.yml

@ -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

44
docker/local-dev-compose.yml

@ -2,42 +2,34 @@ version: '2'
services: services:
master: master:
build:
context: .
dockerfile: Dockerfile.go_build
image: chrislusf/seaweedfs:local
ports: ports:
- 9333:9333
- 19333:19333
- 9333:9333
- 19333:19333
command: "master -ip=master" command: "master -ip=master"
volume: volume:
build:
context: .
dockerfile: Dockerfile.go_build
image: chrislusf/seaweedfs:local
ports: ports:
- 8080:8080
- 18080:18080
- 8080:8080
- 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:
context: .
dockerfile: Dockerfile.go_build
image: chrislusf/seaweedfs:local
ports: ports:
- 8888:8888
- 18888:18888
- 8888:8888
- 18888:18888
command: '-v=4 filer -master="master:9333"' command: '-v=4 filer -master="master:9333"'
depends_on: depends_on:
- master
- volume
- master
- volume
s3: s3:
build:
context: .
dockerfile: Dockerfile.go_build
image: chrislusf/seaweedfs:local
ports: ports:
- 8333:8333
command: '-v=4 s3 -filer="filer:8888"'
- 8333:8333
command: '-v=4 s3 -filer="filer:8888" -waitForFiler'
depends_on: depends_on:
- master
- volume
- filer
- master
- volume
- filer

32
docker/seaweedfs-compose.yml

@ -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
- 19333:19333
- 9333:9333
- 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
- 18080:18080
- 8080:8080
- 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
- 18888:18888
- 8888:8888
- 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
- volume
- master
- 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
- volume
- master
- volume
s3: s3:
image: chrislusf/seaweedfs # use a remote image image: chrislusf/seaweedfs # use a remote image
ports: ports:
- 8333:8333
command: 's3 -filer="filer:8888"'
- 8333:8333
command: 's3 -filer="filer:8888" -waitForFiler'
depends_on: depends_on:
- master
- volume
- filer
- master
- volume
- filer

28
docker/seaweedfs-dev-compose.yml

@ -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
- 19333:19333
- 9333:9333
- 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
- 18080:18080
- 8080:8080
- 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
- 18888:18888
- 8888:8888
- 18888:18888
command: '-v=4 filer -master="master:9333"' command: '-v=4 filer -master="master:9333"'
depends_on: depends_on:
- master
- volume
- master
- 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
command: '-v=4 s3 -filer="filer:8888"'
- 8333:8333
command: '-v=4 s3 -filer="filer:8888" -waitForFiler'
depends_on: depends_on:
- master
- volume
- filer
- master
- volume
- filer
Loading…
Cancel
Save