先构建一个secret文件
arangodb create jwt-secret --secret=arangodb.secret
docker-compose.yml
1version: "3" 2services: 3 agency: 4 image: arangodb:latest 5 container_name: arango-agency 6 volumes: 7 - ./arangodb.secret:/etc/arangodb.secret 8 - ./cluster/a1:/var/lib/arangodb3 9 - ./cluster/a1apps:/var/lib/arangodb3-apps 10 command: arangod --server.jwt-secret-keyfile=/etc/arangodb.secret --server.endpoint tcp://0.0.0.0:8531 --agency.my-address tcp://agency:8531 --server.authentication true --agency.activate true --agency.size 1 --agency.endpoint tcp://agency:8531 --agency.supervision true --cluster.require-persisted-id true 11 12 coordinator1: 13 image: arangodb:latest 14 container_name: arango-coordinator1 15 volumes: 16 - ./arangodb.secret:/etc/arangodb.secret 17 - ./cluster/c1:/var/lib/arangodb3 18 - ./cluster/c1apps:/var/lib/arangodb3-apps 19 command: arangod --server.jwt-secret-keyfile=/etc/arangodb.secret --server.authentication=true --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://coordinator1:8529 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://agency:8531 --cluster.require-persisted-id true 20 ports: 21 - "8000:8529" 22 depends_on: 23 - agency 24 coordinator2: 25 image: arangodb:latest 26 container_name: arango-coordinator2 27 volumes: 28 - ./arangodb.secret:/etc/arangodb.secret 29 - ./cluster/c2:/var/lib/arangodb3 30 - ./cluster/c2apps:/var/lib/arangodb3-apps 31 command: arangod --server.jwt-secret-keyfile=/etc/arangodb.secret --server.authentication=true --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://coordinator2:8529 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://agency:8531 --cluster.require-persisted-id true 32 ports: 33 - "8001:8529" 34 depends_on: 35 - agency 36 37 db1: 38 image: arangodb:latest 39 container_name: arango-db1 40 volumes: 41 - ./arangodb.secret:/etc/arangodb.secret 42 - ./cluster/db1:/var/lib/arangodb3 43 - ./cluster/db1apps:/var/lib/arangodb3-apps 44 command: arangod --server.jwt-secret-keyfile=/etc/arangodb.secret --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://db1:8529 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://agency:8531 --cluster.require-persisted-id true 45 depends_on: 46 - agency 47 db2: 48 image: arangodb:latest 49 container_name: arango-db2 50 volumes: 51 - ./arangodb.secret:/etc/arangodb.secret 52 - ./cluster/db2:/var/lib/arangodb3 53 - ./cluster/db2apps:/var/lib/arangodb3-apps 54 command: arangod --server.jwt-secret-keyfile=/etc/arangodb.secret --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://db2:8529 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://agency:8531 --cluster.require-persisted-id true 55 depends_on: 56 - agency 57 db3: 58 image: arangodb:latest 59 container_name: arango-db3 60 volumes: 61 - ./arangodb.secret:/etc/arangodb.secret 62 - ./cluster/db3:/var/lib/arangodb3 63 - ./cluster/db3apps:/var/lib/arangodb3-apps 64 command: arangod --server.jwt-secret-keyfile=/etc/arangodb.secret --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://db3:8529 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://agency:8531 --cluster.require-persisted-id true 65 depends_on: 66 - agency 67
首次运行,--cluster.require-persisted-id false,运行一次后,修改密码,添加database,然后第二次运行,改成--cluster.require-persisted-id true
