不初始化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.sh
和startMinio.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}