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 工具直接访问。

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

相关文章

  • Docker容器搭建本地私有仓库详情

    Docker容器搭建本地私有仓库详情

    这篇文章主要介绍了Docker容器搭建本地私有仓库详情,Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了
    2022-08-08
  • CentOS 7.9 安装 docker20.10.12的过程解析

    CentOS 7.9 安装 docker20.10.12的过程解析

    这篇文章主要介绍了CentOS 7.9 安装 docker20.10.12 的相关资料,安装软件包时卸载旧软件包,如果已经安装这些程序,请卸载他们以及相关的依赖项,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • Spring Boot 打包上传Docker 仓库的详细步骤

    Spring Boot 打包上传Docker 仓库的详细步骤

    这篇文章主要介绍了Spring Boot 打包上传Docker 仓库的详细步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • 一文搞定Docker安装ElasticSearch的过程

    一文搞定Docker安装ElasticSearch的过程

    通过本文可以帮助大家快速学习Docker安装ElasticSearch的过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • Docker能否成为下一个“Linux”?

    Docker能否成为下一个“Linux”?

    今天小编就为大家分享一篇关于Docker能否成为下一个“Linux”?,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Docker安装部署单机版Rocket及基础讲解

    Docker安装部署单机版Rocket及基础讲解

    RocketMQ是阿里巴巴旗下一款开源的MQ框架,经历过双十一考研、Java编程语言实现,有非常好完整生态系统,这篇文章主要介绍了用Docker部署安装单机版Rocket及基础讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2022-07-07
  • Docker NFS volume创建与使用方式

    Docker NFS volume创建与使用方式

    这篇文章主要介绍了Docker NFS volume创建与使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker安装Adminer并支持mysql和mongodb的详细步骤

    docker安装Adminer并支持mysql和mongodb的详细步骤

    这篇文章主要介绍了docker安装Adminer并支持mysql和mongodb,通过查找并拉取Adminer镜像,启动docker,支持mysq,本文分步骤给大家详细讲解,需要的朋友可以参考下
    2022-10-10
  • Docker 部署 Prometheus的安装详细教程

    Docker 部署 Prometheus的安装详细教程

    这篇文章主要介绍了Docker 部署 Prometheus及安装方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Docker内部MySQL如何开启binlog日志

    Docker内部MySQL如何开启binlog日志

    这篇文章主要介绍了Docker内部MySQL如何开启binlog日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论