当前位置: 首页 > 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 配置,可进一步提升管理效率和安全性。

http://www.xdnf.cn/news/187489.html

相关文章:

  • Flutter介绍、Flutter Windows Android 环境搭建 真机调试
  • ETL架构、数据建模及性能优化实践
  • GPU 架构入门笔记
  • git pull报错error: cannot lock ref ‘refs/remotes/origin/feature/xxx
  • 【C语言】初阶算法相关习题(二)
  • Python-librosa库提取音频数据的MFCC特征
  • 线下CPG零售的核心:POG与销量的循环优化
  • 浅谈PCB传输线(一)
  • docker安装Canal1.1.5,MySQL5.7踩坑
  • Ubuntu中C++项目安装二次规划库——qpOASES 库
  • 论文阅读_Search-R1_大模型+搜索引擎
  • 怎么样才能在idea中写入spark程序
  • 无人船 | 图解基于LQR控制的路径跟踪算法(以全驱动无人艇WAMV为例)
  • 仙宫云ComfyUI —【Wan2.1】AI视频生成部署
  • 【计算机视觉】TorchVision 深度解析:从核心功能到实战应用 ——PyTorch 官方计算机视觉库的全面指南
  • VINS-FUSION:跑通手机录制数据
  • EasyRTC嵌入式音视频通信SDK智能安防与监控系统的全方位升级解决方案
  • 杰理-安卓通过map获取时间的时候,部分手机切换sbc和aac时候单耳无声音
  • 超级好用的​​参数化3D CAD 建模​​图形库 (CadQuery库介绍)
  • 【亚马逊云】AWS Wavelength 从理论讲解到实验演练
  • Android Compose vs 传统View系统:全面对比与选型指南
  • C++ 之 【list的简介、list 的构造函数、iterator、容量操作、元素访问、增删查改与迭代器失效】
  • Flask + ajax上传文件(四)--数据入库教程
  • 深度解析算法之分治(归并)
  • 【Docker】使用 jq 管理镜像源
  • Linux权限概念讲解
  • 喷泉码解码成功率
  • 如何使用 Redis 缓存验证码
  • Flow原理
  • Unity3D引擎框架及用户接口调用方式相关分析及汇总