MinIO 容器化快速部署指南

一、快速开始

# 创建网络(需提前执行)
docker network create srebro

#创建工作目录
mkdir -p /home/application/Middleware/minio/

# 启动服务
docker-compose up -d

二、配置说明

docker-compose.yaml 结构

services:
  minio:
    image: minio/minio
    container_name: minio
    networks:
      - srebro
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - /home/application/Middleware/minio/data:/data
      - /etc/localtime:/etc/localtime
    environment:
      MINIO_ROOT_USER: srebro
      MINIO_ROOT_PASSWORD: 'srebro@2025'
      TZ: Asia/Shanghai
    command: server /data --console-address :9001
    healthcheck:  # 健康检查确保初始化服务在MinIO就绪后运行
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 10s
      timeout: 5s
      retries: 10
    restart: unless-stopped

  minio-init:
    image: minio/mc  # 使用官方mc工具镜像
    depends_on:
      minio:
        condition: service_healthy  # 依赖MinIO健康状态
    networks:
      - srebro
    entrypoint: >
      /bin/sh -c "
      /usr/bin/mc alias set srebro-minio http://minio:9000 srebro 'srebro@2025';
      /usr/bin/mc mb srebro-minio/srebro --ignore-existing;
      exit 0;
      "
networks:
  srebro:
    external: true

三、服务说明

  1. 主服务 (minio)

    • 版本控制:使用特定版本镜像(建议根据实际情况更新)
    • 端口映射:
      • 9000:MinIO服务API端口
      • 9001:Web控制台端口
    • 数据持久化:映射宿主机目录到容器内 /data
    • 健康检查:通过HTTP接口验证服务状态
  2. 初始化服务 (minio-init)

    • 自动执行初始化命令:
      • 配置MinIO客户端别名
      • 创建默认存储桶(已存在时自动跳过)

四、使用验证

  1. 访问Web控制台:
    http://<服务器IP>:9001
    
  2. 使用配置的账号密码登录:
    Username: srebro
    Password: srebro@2025
    

image-20250306162142216