services: node0: image: rustfs:v1 # 替换为你的镜像名称和标签 container_name: node0 hostname: node0 environment: - RUSTFS_VOLUMES=http://node{0...3}:9000/data/rustfs{0...3} - RUSTFS_ADDRESS=0.0.0.0:9000 - RUSTFS_CONSOLE_ENABLE=true - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9002 # 添加KMS配置,从vault-config卷加载 - RUSTFS_KMS_ENABLED=true platform: linux/amd64 ports: - "9000:9000" # 映射宿主机的 9001 端口到容器的 9000 端口 - "8000:9001" # 映射宿主机的 9001 端口到容器的 9000 端口 volumes: - ./target/x86_64-unknown-linux-musl/release/rustfs:/app/rustfs # - ./data/node0:/data # 将当前路径挂载到容器内的 /root/data - vault-config:/etc/rustfs/kms:ro # 读取KMS配置 command: "/bin/sh -c 'if [ -f /etc/rustfs/kms/rustfs-kms.env ]; then export $(cat /etc/rustfs/kms/rustfs-kms.env | xargs); fi && /app/rustfs'" depends_on: rustyvault: condition: service_healthy node1: image: rustfs:v1 container_name: node1 hostname: node1 environment: - RUSTFS_VOLUMES=http://node{0...3}:9000/data/rustfs{0...3} - RUSTFS_ADDRESS=0.0.0.0:9000 - RUSTFS_CONSOLE_ENABLE=true - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9002 # 添加KMS配置,从vault-config卷加载 - RUSTFS_KMS_ENABLED=true platform: linux/amd64 ports: - "9001:9000" # 映射宿主机的 9002 端口到容器的 9000 端口 volumes: - ./target/x86_64-unknown-linux-musl/release/rustfs:/app/rustfs # - ./data/node1:/data - vault-config:/etc/rustfs/kms:ro # 读取KMS配置 command: "/bin/sh -c 'if [ -f /etc/rustfs/kms/rustfs-kms.env ]; then export $(cat /etc/rustfs/kms/rustfs-kms.env | xargs); fi && /app/rustfs'" depends_on: rustyvault: condition: service_healthy node2: image: rustfs:v1 container_name: node2 hostname: node2 environment: - RUSTFS_VOLUMES=http://node{0...3}:9000/data/rustfs{0...3} - RUSTFS_ADDRESS=0.0.0.0:9000 - RUSTFS_CONSOLE_ENABLE=true - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9002 # 添加KMS配置,从vault-config卷加载 - RUSTFS_KMS_ENABLED=true platform: linux/amd64 ports: - "9002:9000" # 映射宿主机的 9003 端口到容器的 9000 端口 volumes: - ./target/x86_64-unknown-linux-musl/release/rustfs:/app/rustfs # - ./data/node2:/data - vault-config:/etc/rustfs/kms:ro # 读取KMS配置 command: "/bin/sh -c 'if [ -f /etc/rustfs/kms/rustfs-kms.env ]; then export $(cat /etc/rustfs/kms/rustfs-kms.env | xargs); fi && /app/rustfs'" depends_on: rustyvault: condition: service_healthy node3: image: rustfs:v1 container_name: node3 hostname: node3 environment: - RUSTFS_VOLUMES=http://node{0...3}:9000/data/rustfs{0...3} - RUSTFS_ADDRESS=0.0.0.0:9000 - RUSTFS_CONSOLE_ENABLE=true - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9002 # 添加KMS配置,从vault-config卷加载 - RUSTFS_KMS_ENABLED=true platform: linux/amd64 ports: - "9003:9000" # 映射宿主机的 9004 端口到容器的 9000 端口 volumes: - ./target/x86_64-unknown-linux-musl/release/rustfs:/app/rustfs # - ./data/node3:/data - vault-config:/etc/rustfs/kms:ro # 读取KMS配置 command: "/bin/sh -c 'if [ -f /etc/rustfs/kms/rustfs-kms.env ]; then export $(cat /etc/rustfs/kms/rustfs-kms.env | xargs); fi && /app/rustfs'" depends_on: rustyvault: condition: service_healthy # 定义用于存储Vault数据和配置的Docker卷 volumes: vault-data: vault-config: