87 lines
2.3 KiB
YAML
87 lines
2.3 KiB
YAML
services:
|
|
rustfs:
|
|
image: rustfs/rustfs:1.0.0-alpha.59
|
|
container_name: rustfs_container
|
|
restart: always
|
|
ports:
|
|
- 100.64.0.42:9000:9000
|
|
volumes:
|
|
- /vol2/1000/rustfs_vol2:/data
|
|
- ./data:/app/data:rw # 新增,共用 ./data
|
|
environment:
|
|
RUSTFS_VOLUMES: /data/rustfs0
|
|
RUSTFS_ADDRESS: :9000
|
|
RUSTFS_SERVER_DOMAINS: rfs.jmsu.top
|
|
RUSTFS_ACCESS_KEY: lingyuzeng
|
|
RUSTFS_SECRET_KEY: rust@Hotwa2020
|
|
RUSTFS_CONSOLE_ENABLE: "true"
|
|
|
|
rustfs-s3-toolkit:
|
|
image: hotwa/rustfs-s3-toolkit:latest
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
container_name: rustfs-s3-toolkit
|
|
restart: always
|
|
volumes:
|
|
- ./data:/app/data:rw
|
|
ports:
|
|
- "100.64.0.42:9009:9009"
|
|
|
|
consul-agent:
|
|
stop_signal: SIGTERM
|
|
stop_grace_period: 30s
|
|
image: hashicorp/consul:1.21
|
|
command:
|
|
- agent
|
|
- -server=false
|
|
- -node=rustfs-100-64-0-42
|
|
- -client=0.0.0.0
|
|
- -bind=0.0.0.0
|
|
- -advertise=100.64.0.42
|
|
- -retry-join=100.64.0.1
|
|
- -datacenter=dc1
|
|
- -data-dir=/consul/data
|
|
environment:
|
|
CONSUL_LOCAL_CONFIG: '{"leave_on_terminate": true}'
|
|
ports:
|
|
- "100.64.0.42:8500:8500/tcp"
|
|
- "100.64.0.42:8600:8600/tcp"
|
|
- "100.64.0.42:8600:8600/udp"
|
|
- "100.64.0.42:8301:8301/tcp"
|
|
- "100.64.0.42:8301:8301/udp"
|
|
healthcheck:
|
|
test: ["CMD", "consul", "info"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 30
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
|
|
registrar:
|
|
image: hashicorp/consul:1.21
|
|
depends_on:
|
|
consul-agent:
|
|
condition: service_healthy
|
|
rustfs:
|
|
condition: service_started
|
|
environment:
|
|
CONSUL_HTTP_ADDR: "http://consul-agent:8500"
|
|
SERVICE_NAME: "rustfs"
|
|
SERVICE_ADDR: "100.64.0.42"
|
|
SERVICE_PORT: "9000"
|
|
# 可选:打标签,方便 SRV 过滤
|
|
SERVICE_TAGS: "console"
|
|
# 健康检查参数(可按需改)
|
|
CHECK_TYPE: "tcp" # 可选: "http" 或 "tcp"
|
|
CHECK_PATH: "/healthz" # 仅 http 模式用
|
|
CHECK_INTERVAL: "10s"
|
|
CHECK_TIMEOUT: "2s"
|
|
DEREG_AFTER: "1m" # 持续失败 1 分钟后自动从 Catalog 摘除
|
|
volumes:
|
|
- ./registrar.sh:/registrar.sh:ro
|
|
entrypoint: ["/bin/sh","-lc","/registrar.sh"]
|
|
restart: unless-stopped
|
|
|
|
|
|
networks: {} |