Minio 单节点部署

使用 docker-compose 快速部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: "3.7"
services:
minio:
  image: "quay.io/minio/minio:RELEASE.2022-08-02T23-59-16Z"
  ports:
    - "9000:9000"
    - "9001:9001"
  volumes:
    - "./minio/data1:/data1"
    - "./minio/data2:/data2"
  command: server --console-address ":9001" http://minio/data{1...2}
  environment:
    - MINIO_ROOT_USER=admin
    - MINIO_ROOT_PASSWORD=12345678
     #- MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
     #- MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
    interval: 30s
    timeout: 20s
    retries: 3
  • 需要暴露的端口有两个,一个是API暴露端口9000,一个是服务管理页面暴露端口9001。启动成功后,访问9001端口即可进入管理页面。

  • 单机版部署也可挂载多个磁盘,单个服务挂载超过(等于)4个磁盘,自动启动纠删码模式,可以预防磁盘损坏的情况下,导致文件丢失。

  • 最新版本里面已经不使用MINIO_ACCESS_KEY和MINIO_SECRET_KEY两个环境变量了,改由MINIO_ROOT_USER和MINIO_ROOT_PASSWORD替换。

  • 启动命令中--console-address代表指定服务管理页面暴露的端口,http://minio/data{1...2}代表指定的minio服务下面挂载的目标磁盘为/data1和/data2,否则磁盘挂载不起作用。API暴露端口可通过参数–address指定。

纠删码模式部署

启动纠删码模式,需要在部署的服务上挂载至少4块磁盘

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: "3.7"
services:
minio:
  image: "quay.io/minio/minio:RELEASE.2022-08-02T23-59-16Z"
  ports:
    - "9000:9000"
    - "9001:9001"
  volumes:
    - "./minio/data1:/data1"
    - "./minio/data2:/data2"
    - "./minio/data3:/data3"
    - "./minio/data4:/data4"
  command: server --console-address ":9001" http://minio/data{1...4}
  environment:
    - MINIO_ROOT_USER=admin
    - MINIO_ROOT_PASSWORD=12345678
  healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
    interval: 30s
    timeout: 20s
    retries: 3

该模式运行其中某个磁盘出现损坏的情况,在磁盘损坏后也能保证文件不会丢失。