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 操作、命名卷和重启验证。单节点方案适合本地学习,不应直接当作生产高可用方案。

相关推荐
程序员老赵13 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源
m0_6174939417 小时前
昇腾 NPU Docker 部署实战:解决 stub library 报错并实现模型正常加载
运维·docker·容器
xixiaoyunya18 小时前
Docker 常用命令与实战:从入门到部署一个简单应用
docker·容器·eureka
吴声子夜歌19 小时前
Docker入门与实战——Docker Swarm模式(跨主机容器集群管理)
docker
flytalei21 小时前
GitOps 实战:基于 Argo CD 的 Kubernetes 应用版本回滚
云原生·容器·kubernetes
pirateeee1 天前
在ubuntu中通过 docker 搭建 yocto 开发环境
ubuntu·docker·eureka
墨神谕1 天前
Docker 数据卷(Volume)详解:Dockerfile 声明、Docker Compose 挂载宿主机目录及持久化实战
运维·docker·容器
zh73141 天前
Docker Desktop docker_data.vhdx 使用时间长了过大,解决办法
运维·docker·容器
墨神谕1 天前
Docker Compose 从入门到实战:核心概念、YAML 配置详解、常用命令与多容器部署
运维·docker·容器
Tronlong创龙1 天前
TLT153工控机:Docker 环境部署与容器开发实践(上)
docker·嵌入式开发·硬件开发·工业控制·工业开发板