Docker持久化搭建MinIO过程

 更新时间:2025年08月19日 15:39:57   作者:く成哦  
这篇文章主要介绍了Docker持久化搭建MinIO过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、了解MinIO,MinIO 是什么?

MinIO 是什么?

  • 开源、云原生的 对象存储 系统(对标 Amazon S3)。
  • 用 Go 编写,单二进制即可运行,支持单机、分布式、容器化多种形态。
  • 完全兼容 S3 API,现有 S3 工具(AWS CLI、Terraform、Rclone 等)直接可用。

核心能力速览

维度说明
性能单机即可做到 GB/s 级吞吐;分布式可水平扩展到上千节点。
数据保护纠删码(Erasure Code)实现冗余,可容忍一半节点/磁盘损坏仍不丢数据。
安全传输 TLS、静态 AES-256 加密;细粒度 RBAC、LDAP、OAuth 集成。
部署形态1. 单机二进制 2. Docker 3. K8s/Helm 4. 分布式裸机集群。
最大对象单个对象 5 TB;小文件同样高效。

二、搭建MinIO

Docker容器搭建

创建持久化目录

sudo mkdir -p /data/minio/{data,config}
sudo chmod -R 777 /data/minio          # 避免容器内权限问题

测试拉取一下minio镜像

docker pull minio/minio

启动minio容器(一条指令)

docker run -d \
  --name minio \
  --restart=always \
  -p 9000:9000 \
  -p 9001:9001 \
  -e "MINIO_ROOT_USER=admin" \
  -e "MINIO_ROOT_PASSWORD=SecurePass123" \
  -v /data/minio/data:/data \
  -v /data/minio/config:/root/.minio \
  minio/minio server /data --console-address ":9001"

参数说明:

参数含义
-d后台运行
--restart=always宿主机重启后自动拉起
-p 9000:9000API / S3 端口
-p 9001:9001Web 控制台端口
-v /data/minio/data:/data对象数据持久化
-v /data/minio/config:/root/.minio配置文件持久化

查看是否运行成功

docker ps

查看minio容器是否启动

访问验证

  • 控制台:http://localhost:9001
  • S3 API:http://localhost:9000

用户名/密码即上面启动指令里面的 admin / SecurePass123

防火墙和服务器开启端口

sudo firewall-cmd --permanent --add-port=9000/tcp

sudo firewall-cmd --permanent --add-port=9001/tcp

sudo firewall-cmd --reload

sudo firewall-cmd --list-ports
# 应显示:9000/tcp 9001/tcp

重启 / 升级 / 迁移

重启

docker restart minio

升级镜像

docker pull minio/minio
docker rm -f minio
# 再执行上面 docker run 命令即可,数据仍在 /data/minio

迁移

直接打包 /data/minio 目录,复制到新机器后挂载即可。

三、常用运维命令

# 查看日志
docker logs -f minio

# 进入容器
docker exec -it minio sh

# 停止并删除(数据保留)
docker rm -f minio

四、总结

通过一条 docker run 命令即可在单机完成 持久化对象存储 搭建:

  • 数据、配置全部落盘 /data/minio,重启/升级/迁移零丢失;
  • 9000 端口暴露 S3 API,9001 端口提供 Web 控制台;
  • 防火墙放行对应端口后即可通过浏览器或任何 S3 工具直接访问。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux执行Docker命令提示Get Permission Denied的解决方案

    Linux执行Docker命令提示Get Permission Denied的解决方案

    这篇文章主要介绍了Linux执行Docker命令提示Get Permission Denied的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • 使用Docker搭建Picsur图床服务的实现

    使用Docker搭建Picsur图床服务的实现

    本文介绍如何在腾讯云轻量应用服务器通过Docker部署Picsur图床服务,文中通过图文示例步骤介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-07-07
  • Dockerfile指令与基本结构的讲解

    Dockerfile指令与基本结构的讲解

    今天小编就为大家分享一篇关于Dockerfile指令与基本结构的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Docker Portainer 可视化面板的使用

    Docker Portainer 可视化面板的使用

    本文主要介绍了Docker Portainer 可视化面板的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Docker 数据卷操作的实现

    Docker 数据卷操作的实现

    这篇文章主要介绍了Docker 数据卷操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 基于Harbor构建docker私有仓库的方法

    基于Harbor构建docker私有仓库的方法

    这篇文章主要介绍了Harbor构建docker私有仓库的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Docker打包一个Python脚本的实现方法

    Docker打包一个Python脚本的实现方法

    本文主要介绍了Docker打包一个Python脚本的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • Logshark调试Logstash及Filebeat pipelines使用详解

    Logshark调试Logstash及Filebeat pipelines使用详解

    这篇文章主要为大家介绍了Logshark调试Logstash及Filebeat pipelines使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 基于docker搭建selenium分布式环境

    基于docker搭建selenium分布式环境

    这篇文章主要介绍了基于docker搭建selenium分布式环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Docker创建MongoDB容器并添加root密码验证与更多用户详细步骤

    Docker创建MongoDB容器并添加root密码验证与更多用户详细步骤

    MongoDB是一个著名的面向文档的数据库,被许多现代Web应用程序使用,下面这篇文章主要给大家介绍了关于Docker创建MongoDB容器并添加root密码验证与更多用户的相关资料,需要的朋友可以参考下
    2023-01-01

最新评论