docker部署MinIO集群
1 拉取镜像
docker pull minio/minio:RELEASE.2023-08-16T20-17-30Z
2 启动集群节点命令
注意:要对配置文件中使用到的文件夹进行授权
version: '3'
# 公共操作
x-minio-common: &minio-common
image: minio/minio:RELEASE.2023-08-16T20-17-30Z
command: server --console-address ':19090' -address ":19000" http://minio{1...3}/data{1...2}
environment:
TZ: Asia/Shanghai
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
services:
minio:
<<: *minio-commondock
hostname: minio1
container_name: minio1
volumes:
- /data/minio/minio1/data1:/data1
- /data/minio/minio1/data2:/data2
- /data/minio/minio1/config:/root/.minio/
ports:
- "19001:19000"
- "19091:19090"
minio2:
<<: *minio-common
hostname: minio2
container_name: minio2
volumes:
- /data/minio/minio2/data1:/data1
- /data/minio/minio2/data2:/data2
- /data/minio/minio2/config:/root/.minio/
ports:
- "19002:19000"
- "19092:19090"
Minio3:
<<: *minio-common
hostname: minio3
container_name: minio3
volumes:
- /data/minio/minio3/data1:/data1
- /data/minio/minio3/data2:/data2
- /data/minio/minio3/config:/root/.minio/
ports:
- "19003:19000"
- "19093:19090"
# 简单解释一下
# command: server --console-address ':19090' -address ":19000" http://minio{1...2}/data{1...2}
# 命令中的 http://minio{1...2}/data{1...2} 是集群配置minio{1...2}写法是对应容器minio1和minio2中的网络,这里的19090和19000是对应容器内的端口号,如果这里修改了,那么在下方的port配置中也要修改成对应的映射
3 启动集群
使用命令 docker-compose docker-compose.yml -f up -d 启动集群
使用docker ps查看是否全部启动成功
使用命令 docker logs minio1 查看日志
如图所示即为成功
根据配置文件内容可知,minio访问的地址为 ip:19091,ip:19092和ip:19093,API调用的端口为ip:19001,ip:19002以及ip:19003,也可以通过nginx配置负载均衡