mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 09:40:32 +00:00
99 lines
3.6 KiB
YAML
99 lines
3.6 KiB
YAML
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:
|