菜单
本页目录

不初始化AccessKey

docker-compose.yml

version: "3"
services:
  minio:
    image: minio/minio:RELEASE.2023-04-28T18-11-17Z
    container_name: minio
    restart: always
    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=junpzx@2024
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
      interval: 30s
      timeout: 20s
      retries: 3

初始化AccessKey

部署minio生产环境的过程中,有时候会遇到需要一键式傻瓜式部署的情况,所以就需要初始化AccessKey,而在minio的官方文档上又没看到能自动创建的配置, 所以通过间接的方式进行了实现,主要依赖三个文件:

  • docker-compose.yml
  • initAccessKey.sh
  • startMinio.sh

initAccessKey.shstartMinio.sh放在同一目录下(如./minio/scripts),在docker-compose.yml中配置启动和初始化脚本存放地址

initAccessKey.sh主要用于初始化AccessKey,请自行将需要初始化的Key写入到脚本中

startMinio.sh用于启动minio后执行初始化脚本(PS:初始化脚本会在minio启动一分钟后开始执行)

如果有更好的方案,请留言告诉笔者,十分感谢!Respect!

docker-compose.yml

version: "3"
services:
  minio:
      image: minio/minio:RELEASE.2024-04-06T05-26-02Z
      container_name: minio
      restart: always
      ports:
        - "9000:9000"
        - "9001:9001"
      volumes:
        - "./minio/data1:/data1"
        - "./minio/data2:/data2"
        - "./minio/scripts:/scripts/minio"
      entrypoint: /scripts/minio/startMinio.sh
      environment:
        - MINIO_ROOT_USER=admin
        - MINIO_ROOT_PASSWORD=junpzx@2024
      healthcheck:
        test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
        interval: 30s
        timeout: 20s
        retries: 3

initAccessKey.sh

#!/bin/bash
sleep 60
mc alias set minio http://127.0.0.1:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD
mc admin user svcacct add --access-key "B6ucsfOJ9psBJBbM0akH" --secret-key "yWn0vVMX6IppcObeDpuLFwyHey8wsslqBiwO6DZK" minio $MINIO_ROOT_USER

startMinio.sh

#!/bin/bash
sh /scripts/minio/initAccessKey.sh &
minio server --console-address ":9001" http://minio/data{1...2}