Docker 安装 MinIO 完整教程(新手友好版)

摘要

本文使用 MinIO 官方容器文档中的镜像 quay.io/minio/minio,在 Docker 中部署单节点单磁盘 MinIO,完成 API 端口、Console 控制台、命名卷持久化、Bucket 创建和重启验证。该方案适合本地开发、学习和功能评估,不等同于生产环境的高可用部署。

一、端口和数据目录

  • 9000:S3 API,程序上传下载对象使用。
  • 9001:Web Console,浏览器管理使用。
  • /data:MinIO 容器内对象数据目录。

二、前置准备

复制代码
docker version
docker info

确认 Docker 已启动,主机 9000 和 9001 端口没有被占用,并预留对象文件所需空间。

三、创建数据卷并启动

复制代码
docker volume create minio_data
docker volume inspect minio_data

把示例密码替换成强密码:

复制代码
docker run -d --name minio -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=ChangeMe_123456 -v minio_data:/data --restart unless-stopped quay.io/minio/minio:latest server /data --console-address ":9001"

latest 是移动标签,生产环境应选择经过验证的固定版本。root 密码不能使用示例值。

四、确认服务和登录控制台

复制代码
docker ps --filter "name=minio"
docker logs --tail 100 minio

浏览器打开:

复制代码
http://localhost:9001

使用启动命令中的账号密码登录。应用程序访问:

复制代码
http://localhost:9000

五、创建 Bucket 和测试对象

在 Console 中创建 app-files Bucket,上传一个小文件,再下载和删除它。不要为了方便直接开放公开访问,访问策略应按业务需要最小化配置。

六、重启持久化验证

复制代码
docker restart minio
docker logs --tail 50 minio
docker volume inspect minio_data

重新登录 Console,确认 Bucket 和测试对象仍然存在。命名卷独立于容器,但不是备份。

七、mc 客户端(可选)

复制代码
docker run --rm --entrypoint="" minio/mc --version

Windows Docker Desktop 的 network host 行为与 Linux 有差异,mc 连接失败时先使用 Console 验证服务,不要直接判断 MinIO 不可用。

八、生产边界

官方容器文档中的单节点单磁盘流程主要适合开发和评估。生产环境还需要固定镜像版本、TLS、最小权限、独立备份、恢复测试以及符合业务要求的多节点架构。

九、常见问题

Console 打不开

检查 9001 端口映射、容器日志和 Docker 防火墙:

复制代码
docker ps
docker logs --tail 100 minio

删除容器后对象是否还在

只要没有删除 minio_data,通常可以用同一个卷重新创建容器。删除卷前先确认备份。

卸载

复制代码
docker rm -f minio
docker volume rm minio_data
docker image rm quay.io/minio/minio:latest

删除卷会永久删除对象数据。

十、官方资料

总结

本教程完成了 Console 登录、API 端口、Bucket 操作、命名卷和重启验证。单节点方案适合本地学习,不应直接当作生产高可用方案。

相关推荐
JavaPub-rodert7 小时前
Docker 容器启动了,不代表服务真的能用:Healthcheck 实战
运维·docker·容器
先吃饱再说8 小时前
别再手动敲三遍 docker run 了:学会使用 Docker Compose 多容器编排
docker·容器
xixiaoyunya9 小时前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
全栈攻略21 小时前
Docker 中 ROS2 工作流 Topic 验证与常用命令指南
运维·docker·容器
名字还没想好☜1 天前
Docker 数据卷实战:volume、bind mount、tmpfs 到底怎么选,数据持久化与权限坑
运维·docker·容器·kubernetes
唐青枫1 天前
Docker diff 详解:看清容器里到底改了什么
docker
lpfasd1231 天前
Docker存储清理与防膨胀实践
运维·docker·容器
weixin_444579301 天前
Docker(下):镜像仓库管理
运维·docker·容器
DreamLife☼1 天前
Agent开发环境搭建完全指南
python·docker·typescript·node·工业知识点
探索云原生1 天前
Kueue + HAMi vGPU 实战:显存与算力配额管理
docker·ai·云原生·kubernetes·gpu