已安装好 docker-compose 并配置好国内加速镜像的参考
docker-compose
方案即可,这个最简单快速,否则只能看linux 搭建
方式
docker-compose
单机编排
version: '3'
services:
minio:
image: minio/minio
hostname: "minio"
ports:
- 9000:9000 # api 端口
- 9001:9001 # 控制台端口
environment:
MINIO_ACCESS_KEY: admin #管理后台用户名
MINIO_SECRET_KEY: admin123 #管理后台密码,最小8个字符
volumes:
- ./data:/data #映射当前目录下的data目录至容器内/data目录
- ./config:/root/.minio/ #映射配置目录
command: server --console-address ':9001' /data #指定容器中的目录 /data
privileged: true
restart: always
集群编排
version: '3'
# starts 4 docker containers running minio server instances.
# using nginx reverse proxy, load balancing, you can access
# it through port 9000.
services:
minio1:
image: minio/minio
hostname: minio1
volumes:
- data1-1:/data1
- data1-2:/data2
expose:
- "9000"
- "9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
command: server --console-address ":9001" http://minio{1...4}/data{1...2}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
minio2:
image: minio/minio
hostname: minio2
volumes:
- data2-1:/data1
- data2-2:/data2
expose:
- "9000"
- "9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
command: server --console-address ":9001" http://minio{1...4}/data{1...2}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
minio3:
image: minio/minio
hostname: minio3
volumes:
- data3-1:/data1
- data3-2:/data2
expose:
- "9000"
- "9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
command: server --console-address ":9001" http://minio{1...4}/data{1...2}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
minio4:
image: minio/minio
hostname: minio4
volumes:
- data4-1:/data1
- data4-2:/data2
expose:
- "9000"
- "9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
command: server --console-address ":9001" http://minio{1...4}/data{1...2}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
nginx:
image: nginx:1.19.2-alpine
hostname: nginx
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:
data2-1:
data2-2:
data3-1:
data3-2:
data4-1:
data4-2:
启动和访问
docker-compose up -d
linux 搭建
下载服务端
下载地址 https://dl.min.io/
点击server->minio->release,在页面中选择对于平台即可下载
# 下载服务端
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 赋予可执行权限
chmod +x minio
# 启动服务
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /data/minio --console-address ":9001" --address ':9000'
下载客户端
下载地址:https://dl.min.io/client/mc/release/ 选择自己适配的版本,下载完成后,命令行
# 下载
wget https://dl.min.io/client/mc/release/linux-amd64/mc
# 赋予可执行权限
chmod +x mc
# 修改密码
mc alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD
-
配置服务端
mc config host add minio http://IP:9000 minioadmin minioadmin
-
设置分享链接永久生效
mc policy set public minio/test
这样就行了,其原理是,Minio只要将Bucket设置为公共只读,即可无期限访问了
-
客户端其他命令:
查看可以设置的KEYmc admin config set minio/
展示对应KEY的可选参数
mc admin config set play/ site
Bucket里面资源分享地址为容器为0.0.0.0或容器内地址:
部署命令如下:
docker run --name minio -d -v /data/minio:/data/minio -p 9000:9000 -p 9001:9001 minio/minio server --address '0.0.0.0:9000' --console-address '0.0.0.0:9001' /data/minio
通过指定了--address之后,分享链接里的地址变成了: address
为前缀
sdk 接入
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.3.3</version>
</dependency>
进入控制台
访问 http://ip:9000 即可进入登录页面
账号密码为编排文件内指定的 MINIO_ROOT_USER 与 MINIO_ROOT_PASSWORD
Q.E.D.