Minio—docker-compose部署

1、部署

#vim min-compose.yaml
version: '3.8'

services:
  minio:
    image: xxxxxx/library/minio:RELEASE.2025-09-07T16-13-09Z-cpuv1
    container_name: minio
    command: server /data --console-address ":9090"
    ports:
      - "9000:9000"   # API端口
      - "9090:9090"   # 控制台端口
    volumes:
      - ./data/data:/data           # 数据目录映射
      - ./data/config:/root/.minio  # 配置目录映射
    environment:
      MINIO_ROOT_USER: admin        # 管理员用户名
      MINIO_ROOT_PASSWORD: tdjgamtam # 管理员密码(至少8位)
    restart: unless-stopped
~                                 
docker-compose -f min-compose.yaml

2、一些命令

注意:新版本的minio已经删除了权限及用户管理等,需要使用命令手工配置

# 进入容器
docker exec -it minio /bin/bash

创建用户并且进行授权,为api服务提供权限认证

# 1、连接到minio,并且为连接起一个别名
mc alias set myminio(别名) http://localhost:9000(minio服务) admin(管理员账号) Wgw@2089.(密码)

#创建一个用户
mc admin user add myminio fintech(新用户名) Fintech@4494.(密码)

外部服务器安装mc工具

# 可能需要科学上网
curl https://dl.min.io/client/mc/release/linux-amd64/mc -o mc
chmod +x mc
sudo mv mc /usr/local/bin/

编写权限json(fintech-dev-policy.json)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::fintech-dev"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::fintech-dev/*"
      ]
    }
  ]
}

权限说明:

  • s3:ListBucket:指定可查看对应桶中的文件列表
  • s3:GetObject:下载文件
  • s3:PutObject:上传文件
  • s3:DeleteObject:删除

创建权限并且绑定

mc admin policy create myminio fintech-policy ./fintech-dev-policy.json
mc admin policy attach myminio fintech-policy --user fintech

一些必要命令

#查看用户列表
mc admin user list myminio

#查看所有权限
mc admin policy list myminio

检查

mc alias set minio http://192.168.88.1:9500 fintech 'Fintech@wfwfwfw.'

#上传文件
mc cp authorized_keys minio/fintech-dev