mirror of
https://github.com/minio/minio.git
synced 2024-12-27 15:45:55 -05:00
c791de0e1e
dataDir loosely based on maxima is incorrect and does not work in all situations such as disks in the following order - xl.json migration to xl.meta there may be partial xl.json's leftover if some disks are not yet connected when the disk is yet to come up, since xl.json mtime and xl.meta is same the dataDir maxima doesn't work properly leading to quorum issues. - its also possible that XLV1 might be true among the disks available, make sure to keep FileInfo based on common quorum and skip unexpected disks with the older data format. Also, this PR tests upgrade from older to a newer release if the data is readable and matches the checksum. NOTE: this is just initial work we can build on top of this to do further tests.
82 lines
1.5 KiB
YAML
82 lines
1.5 KiB
YAML
version: '3.7'
|
|
|
|
# Settings and configurations that are common for all containers
|
|
x-minio-common: &minio-common
|
|
image: minio/minio:${MINIO_VERSION}
|
|
command: server http://minio{1...4}/data{1...3}
|
|
env_file:
|
|
- ./minio.env
|
|
expose:
|
|
- "9000"
|
|
- "9001"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
|
interval: 30s
|
|
timeout: 20s
|
|
retries: 3
|
|
|
|
# starts 4 docker containers running minio server instances.
|
|
# using nginx reverse proxy, load balancing, you can access
|
|
# it through port 9000.
|
|
services:
|
|
minio1:
|
|
<<: *minio-common
|
|
hostname: minio1
|
|
volumes:
|
|
- data1-1:/data1
|
|
- data1-2:/data2
|
|
- data1-3:/data3
|
|
|
|
minio2:
|
|
<<: *minio-common
|
|
hostname: minio2
|
|
volumes:
|
|
- data2-1:/data1
|
|
- data2-2:/data2
|
|
- data2-3:/data3
|
|
|
|
minio3:
|
|
<<: *minio-common
|
|
hostname: minio3
|
|
volumes:
|
|
- data3-1:/data1
|
|
- data3-2:/data2
|
|
- data3-3:/data3
|
|
|
|
minio4:
|
|
<<: *minio-common
|
|
hostname: minio4
|
|
volumes:
|
|
- data4-1:/data1
|
|
- data4-2:/data2
|
|
- data4-3:/data3
|
|
|
|
nginx:
|
|
image: nginx:1.19.2-alpine
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
ports:
|
|
- "9000:9000"
|
|
- "9001:9001"
|
|
depends_on:
|
|
- minio1
|
|
- minio2
|
|
- minio3
|
|
- minio4
|
|
|
|
## By default this config uses default local driver,
|
|
## For custom volumes replace with volume driver configuration.
|
|
volumes:
|
|
data1-1:
|
|
data1-2:
|
|
data1-3:
|
|
data2-1:
|
|
data2-2:
|
|
data2-3:
|
|
data3-1:
|
|
data3-2:
|
|
data3-3:
|
|
data4-1:
|
|
data4-2:
|
|
data4-3:
|