当前位置: 首页 > news >正文

mac 基于Docker安装minio服务器

        在 macOS 上基于 Docker 安装 MinIO 是一个高效且灵活的方案,尤其适合本地开发或测试环境。以下是详细的安装与配置步骤,结合了最佳实践和常见问题的解决方案:

一、安装 Docker Desktop

  1. 下载安装包
    访问 Docker 官网,下载适用于 macOS 的 Docker Desktop。

  2. 安装与启动

    • 双击下载的 .dmg 文件,将 Docker 图标拖入“应用程序”文件夹。
    • 打开 Docker Desktop,按照提示完成初始设置(可能需要输入管理员密码)。
    • 验证安装:在终端运行 docker --version,确认输出版本号(如 Docker version 26.1.4)。

二、拉取 MinIO 官方镜像

1、拉取镜像

在终端执行以下命令,从 Docker Hub 拉取最新版 MinIO 镜像:

提示:镜像选择 quay.io/minio/minio ,这是稳定版本。

docker pull quay.io/minio/minio使用docker images镜像查看命令,已经成功拉取到本地 

2.创建挂载点目录

mkdir -p /Users/用户名/DockerData/minio/config   # 存储配置文件
​​​​​​​mkdir -p /Users/用户名/DockerData/minio/data    # 存储对象数据

3.创建minio容器

运行以下命令启动容器,并配置端口映射、环境变量和目录挂载:

docker run -d \--name minio \-p 9000:9000 \-p 9001:9001 \--privileged=true \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=admin123" \-v /Users/用户名/DockerData/minio/data:/data \-v /Users/用户名/DockerData/minio/config:/root/.minio \minio/minio server \--console-address ":9000" \--address ":9001" /data
  • 参数说明
    • -p 9000:9000:API 服务端口(用于 SDK 或命令行工具访问)。
    • -p 9001:9001:Web 控制台端口(浏览器访问)。
    • -e "MINIO_ROOT_USER=admin":设置管理员用户名。
    • -e "MINIO_ROOT_PASSWORD=admin123":设置管理员密码(需满足复杂性要求,不能少于8位)。
    • -v /Users/用户名/DockerData/minio/data:将宿主机目录挂载到容器内的数据目录。
    • --console-address ":9001":指定控制台监听端口。

4.启动minio容器

方式一:终端执行以下命令:docker start minio

  1. 检查容器状态
    运行 docker ps,确认容器状态为 Up,且端口映射正确。

 方式二:直接Docker Desktop点击启动minio

三、测试minio是否安装成功

访问 Web 控制台
打开浏览器,访问 http://localhost:9000,使用设置的用户名和密码登录。

访问虚拟机地址+端口号,前面配置minio 的端口号为:9000

四、常见问题与解决方案

  1. 端口冲突
    若 9000 或 9001 端口被占用,修改 -p 参数中的宿主机端口(如 -p 9090:9000)。

  2. 权限问题
    若挂载目录无写入权限,运行:

    sudo chown -R $(whoami) ~/minio

    忘记密码
    删除容器并重新创建(数据目录需备份):

    docker rm -f minio
    docker run ...  # 重新执行启动命令
  3. 数据持久化
    确保 -v 参数挂载的宿主机目录不会被误删,否则会导致数据丢失。​​​​​​​​​​​​​​

五、总结

        通过 Docker 安装 MinIO 可快速搭建一个轻量级、可扩展的对象存储服务,适用于开发、测试甚至小型生产环境。结合 Docker Compose 和 HTTPS 配置,可进一步提升管理效率和安全性。

如果您想详细了解MinIO与案例应用,可以参阅:

相关文章:

  • Qt开发:XML文件的写入与读取
  • 【设计模式】GOF概括
  • 23种设计模式 -- 工厂模式
  • Java—— Arrays工具类及Lambda表达式
  • 【JavaScript】if语句
  • 数据仓库建模:方法、技巧与实践
  • CH592/CH582 触摸按键应用开发实例讲解
  • 再看 BBR 到 BBRv3 的公平性改进
  • 【补题】ACPC Kickoff 2025 F. Kinan The Bank Robber
  • 三小时快速上手TypeScript之抽象类
  • Pytest-mark使用详解(跳过、标记、参数 化)
  • windows程序转鲲鹏服务器踩坑记【持续更新中】
  • 嘉黎县传统手工艺传承与发展交流会圆满举行
  • 3、CMake语法:制作和使用动态库和静态库
  • centos7使用yum快速安装Docker环境
  • openGauss DB4AI与scikit-learn模块对比探究
  • 大模型如何应对内容安全:原理、挑战与技术路径探讨
  • Vue 组件通信方式总览
  • 智能指针之设计模式6
  • 1.6二重积分
  • 王毅:携手做世界和平与发展事业的中流砥柱
  • 西湖大学独家回应本科招生走出浙江:经过三年试点,条件成熟
  • 我国将开展市场准入壁垒清理整治行动
  • 西湖大学本科招生新增三省两市,首次面向上海招生
  • 鄂湘赣“中三角”,能否走向文旅C位?
  • 公交公司须关注新出行需求:“单车巴士”能否常态化