通过docker安装minio文件服务器

在这里插入图片描述

一、安装minio
1.1 拉去ARM镜像

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_minio:latest

1.2 拉去x86镜像

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/minio:latest

MinIO 启动脚本 (run_minio.sh)

#!/bin/bash

# 定义变量(可修改部分)
CONTAINER_NAME="minio"
WEB_PORT=10087      # 控制台端口
API_PORT=10088      # API端口
ROOT_USER="minioadmin"
ROOT_PASSWORD="4wt7HI4RNwcODWxm"  # 生产环境建议使用密钥管理
DATA_DIR="/data/minio/data"
CONFIG_DIR="/data/minio/config"
IMAGE="registry.cn-hangzhou.aliyuncs.com/qiluo-images/minio:latest"
TIMEZONE="Asia/Shanghai"

# 检查目录结构
prepare_dirs() {
  local dirs=("$DATA_DIR" "$CONFIG_DIR")
  for dir in "${dirs[@]}"; do
    if [ ! -d "$dir" ]; then
      echo "创建目录: $dir"
      mkdir -p "$dir" || { echo "目录创建失败!"; exit 1; }
      chmod -R 755 "$dir"  # MinIO 需要特定权限
    fi
  done
}

# 清理旧容器
clean_old_container() {
  if docker ps -a --format '{{.Names}}' | grep -q "^$CONTAINER_NAME$"; then
    echo "发现已有容器 [$CONTAINER_NAME],正在清理..."
    docker rm -f "$CONTAINER_NAME" || { echo "删除旧容器失败!"; exit 1; }
  fi
}

# 启动MinIO
start_minio() {
  echo "正在启动 MinIO 对象存储服务..."
  docker run -d -it \
    --name "$CONTAINER_NAME" \
    --privileged=true \
    --restart=always \
    -p "$WEB_PORT:9000" \
    -p "$API_PORT:9001" \
    -e "MINIO_ROOT_USER=$ROOT_USER" \
    -e "MINIO_ROOT_PASSWORD=$ROOT_PASSWORD" \
    -e "TZ=$TIMEZONE" \
    -v "$DATA_DIR:/data" \
    -v "$CONFIG_DIR:/root/.minio" \
    --log-driver local \
    --log-opt max-size=10m \  # 限制日志大小
    "$IMAGE" \
    server /data \
    --console-address ":9001" \
    --address ":9000"

  if [ $? -ne 0 ]; then
    echo "MinIO 启动失败!"
    exit 1
  fi
}

# 验证服务状态
verify_service() {
  echo "等待服务初始化(10秒)..."
  sleep 10

  if docker logs "$CONTAINER_NAME" 2>&1 | grep -q "API"; then
    echo "--------------------------------------------------"
    echo "MinIO 启动成功!"
    echo "控制台地址: http://$(hostname -I | awk '{print $1}'):$WEB_PORT"
    echo "API地址: http://$(hostname -I | awk '{print $1}'):$API_PORT"
    echo "管理员账号: $ROOT_USER"
    echo "管理员密码: $ROOT_PASSWORD"
    echo "数据目录: $DATA_DIR"
    echo "配置目录: $CONFIG_DIR"
    echo "时区配置: $TIMEZONE"
    echo "日志查看: docker logs -f $CONTAINER_NAME"
  else
    echo "MinIO 服务未正常启动!检查日志: docker logs $CONTAINER_NAME"
    exit 1
  fi
}

# 主流程
prepare_dirs
clean_old_container
start_minio
verify_service

保存脚本:将内容保存为 run_minio.sh
赋予执行权限:

chmod +x run_minio.sh

运行脚本:

./run_minio.sh

密码安全管理:

# 使用Docker secrets管理密码
echo "4wt7HI4RNwcODWxm" > minio_pass.txt
docker secret create minio_root_pass minio_pass.txt
rm minio_pass.txt
# 然后在启动命令中替换为:
# --env-file MINIO_ROOT_PASSWORD_FILE=/run/secrets/minio_root_pass

MinIO 对象存储服务访问说明

  1. 基础信息
    镜像版本 registry.cn-hangzhou.aliyuncs.com/qiluo-images/minio:latest
  2. 访问地址
    Web控制台 http://<服务器IP>:10087 10087 图形化管理界面
    API接口 http://<服务器IP>:10088 10088 应用程序调用
  3. 认证信息
    管理员账号 minioadmin
    管理员密码 4wt7HI4RNwcODWxm
  4. 数据存储路径
    目录类型 宿主机路径 容器内路径
    数据目录 /data/minio/data /data
    配置目录 /data/minio/config /root/.minio
  5. 常用操作命令
# 查看实时日志
docker logs -f minio

# 进入容器调试
docker exec -it minio /bin/sh

# 重启服务
docker restart minio

# 空间使用情况
docker exec minio mc du -h /data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❀͜͡傀儡师

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值