MinIO对象存储 Container
MinIO是一个对象存储解决方案,它提供了与Amazon Web Services S3兼容的API,并支持所有核心S3功能。 MinIO有能力在任何地方部署 - 公有云或私有云,裸金属基础设施,编排环境,以及边缘基础设施。
网站的文档上了MinIO部署在容器上的操作、管理和开发文档,适用于最新稳定版本的MinIO:RELEASE.2025-04-22T22-12-26Z。
MinIO在双重许可证下发布,一个是 AGPL v3.0 和 MinIO商业许可证. 通过 MinIO SUBNET 部署和注册的商业许可证的用户,可以免除AGPL v3.0许可限制,还可以购买技术服务和获取商业授权获得7 x 24小时的商业服务,在中国您可以拔打4008-566-339与我们联系。
如果你需要马上体验,你可以直接使用 minio-console 和我们的 演示服务器
https://play.minio.org.cn,快速体验MinIO。
MinIO演示服务器
是一个 公开 运行了MinIO集群的测试服务器.
任何上传到 MinIO演示服务器
的文件是公开的,您需要注意在演示和测试期间不要上传重要文件和隐私文件,因为其他人可以访问并且我们会定期删除测试数据。
要了解更多如何连接到 MinIO演示服务器
的内容, 请查看 MinIO控制台登录的相关知识.
这个部署步骤是一个 单节点单磁盘 MinIO 服务器 onto Docker or Podman 用于对MinIO 对象存储及其兼容 S3 的 API 层进行早期的开发和评估。 关于部署到生产环境的指南,请查看 分布式MiinIO布置 deploy-minio-distributed.
先决条件
操作步骤
启动容器
选择一个容器类型以查看创建容器的指南。 提供了适用于 GNU/Linux 和 MacOS,或适用于 Windows 的指南。
Podman (Rootfull 或者 Rootless) :name: podman-root-rootless
这些步骤适用于rootfull和rootless的容器。
mkdir -p ~/minio/data podman run \ -p 9000:9000 \ -p 9001:9001 \ -v ~/minio/data:/data \ -e "MINIO_ROOT_USER=ROOTNAME" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ quay.io/minio/minio server /data --console-address ":9001"
上面的例子是这样工作的:
podman run
启动容器. 该进程附加到终端会话,并在退出终端时结束。-p
为容器绑定一个本地的端口.-v
将文件路径设置为容器使用的持久卷位置。 当MinIO将数据写入/data
时,该数据会镜像到本地路径~/minio/data
, 使其能够在容器重新启动时保持持久化。 您可以设置任何具有读取、写入和删除权限的文件路径来使用。-e
分别为用户名和密码设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
. 这些说明了如下设置: 如何修改默认管理员的用户名和密码.
将示例值更改为您要用于容器的值。
podman run \ -p 9000:9000 \ -p 9001:9001 \ -v D:\minio\data:/data \ -e "MINIO_ROOT_USER=ROOTNAME" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ quay.io/minio/minio server /data --console-address ":9001"
上面的例子是这样工作的:
podman run
启动容器. 该进程附加到终端会话,并在退出终端时结束。-p
为容器绑定一个本地的端口.-v
将文件路径设置为容器使用的持久卷位置。 当MinIO将数据写入/data
时,该数据会镜像到本地路径~/minio/data
, 使其能够在容器重新启动时保持持久化。 您可以设置任何具有读取、写入和删除权限的文件路径来使用。-e
分别为用户名和密码设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
. 这些说明了如下设置: 如何修改默认管理员的用户名和密码.
将示例值更改为您要用于容器的值。
Docker (Rootfull)
mkdir -p ~/minio/data docker run \ -p 9000:9000 \ -p 9001:9001 \ --name minio \ -v ~/minio/data:/data \ -e "MINIO_ROOT_USER=ROOTNAME" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ quay.io/minio/minio server /data --console-address ":9001"
上面的示例以以下方式工作:
mkdir
创建一个新的本地目录~/minio/data
映射给容器内部的/data
使用。docker run
启动运行容器。-p
为容器绑定一个本地的端口.-name
为容器创建一个本地的名字。-v
将文件路径设置为容器使用的持久卷位置。 当MinIO将数据写入/data
时,该数据会镜像到本地路径~/minio/data
, 使其能够在容器重新启动时保持持久化。 您可以设置任何具有读取、写入和删除权限的文件路径来使用。-e
分别为用户名和密码设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
. 这些说明了如下设置: 如何修改默认管理员的用户名和密码. 将示例值更改为您要用于容器的值。
docker run \ -p 9000:9000 \ -p 9001:9001 \ --name minio1 \ -v D:\minio\data:/data \ -e "MINIO_ROOT_USER=ROOTUSER" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ quay.io/minio/minio server /data --console-address ":9001"
上面的示例以以下方式工作:
docker run
启动运行容器。-p
为容器绑定一个本地的端口.-name
为容器创建一个本地的名字。-v
将文件路径设置为容器使用的持久卷位置。 当MinIO将数据写入/data
时,该数据会镜像到本地路径~/minio/data
, 使其能够在容器重新启动时保持持久化。 您可以设置任何具有读取、写入和删除权限的文件路径来使用。-e
分别为用户名和密码设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
. 这些说明了如下设置: 如何修改默认管理员的用户名和密码. 将示例值更改为您要用于容器的值。
Docker (Rootless)
mkdir -p ${HOME}/minio/data docker run \ -p 9000:9000 \ -p 9001:9001 \ --user $(id -u):$(id -g) \ --name minio1 \ -e "MINIO_ROOT_USER=ROOTUSER" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ -v ${HOME}/minio/data:/data \ quay.io/minio/minio server /data --console-address ":9001"
上面的示例以以下方式工作:
mkdir
创建一个新的本地目录~/minio/data
映射给容器内部的/data
使用。docker run
启动运行容器。-p
为容器绑定一个本地的端口.-name
为容器创建一个本地的名字。-v
将文件路径设置为容器使用的持久卷位置。 当MinIO将数据写入/data
时,该数据会镜像到本地路径~/minio/data
, 使其能够在容器重新启动时保持持久化。 您可以设置任何具有读取、写入和删除权限的文件路径来使用。-e
分别为用户名和密码设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
. 这些说明了如下设置: 如何修改默认管理员的用户名和密码. 将示例值更改为您要用于容器的值。
Prerequisite:
Windows Group Managed Service Account already defined.
docker run \ -p 9000:9000 \ -p 9001:9001 \ --name minio1 \ --security-opt "credentialspec=file://path/to/file.json" -e "MINIO_ROOT_USER=ROOTUSER" \ -e "MINIO_ROOT_PASSWORD=CHANGEME123" \ -v D:\data:/data \ quay.io/minio/minio server /data --console-address ":9001"
上面的示例以以下方式工作:
docker run
启动运行容器。-p
为容器绑定一个本地的端口.-name
为容器创建一个本地的名字。--security-opt
授予通过credentialspec
文件访问容器的权限,用于 组管理服务帐户 (gMSA)-v
设置文件路径作为容器要使用的持久卷位置。 当MinIO将数据写入/data
时,实际上是将数据写入本地路径D:\data
中,这样可以在容器重新启动之间保持持久。 您可以替换D:\data
为用户具有读取、写入和删除权限的另一个本地文件位置。-e
分别为用户名和密码设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
. 这些说明了如下设置: 如何修改默认管理员的用户名和密码. 将示例值更改为您要用于容器的值。
通过浏览器访问MinIO服务器
通过浏览器访问 minio-console 和
http://127.0.0.1:9000
的地址可以在命令minio server
启动MinIO服务器的时候会输出。 例如,启动MinIO服务器后,命令行会生成两个链接地址 Console: http://192.0.2.10:9001 http://127.0.0.1:9001 输出的两个地址,是系统自动根据本地IP生成的地址,这两个地都在没有防火墙和安全策略的情况下都有可能能访问到MinIO控制台。监听的
9000
端口主要用于通过API连接时的访问, 当通过浏览器访问9000
端口时浏览器会自动跳转至控制台。MinIO Console控制台的登录凭据(用户名和密码)默认认置的环境变量通过
MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
修改。您可以使用 MinIO 控制台完成一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。 每个 MinIO 服务器都包含其自己的嵌入式 MinIO 控制台。
获取更多信息请查看 minio-console 文档.
(Optional) 安装MinIO客户端
MinIO客户端 允许您从命令行管理 MinIO磁盘和卷
选择您的操作系统以获取指令。
GNU/Linux
MinIO客户端 允许您从命令行管理 MinIO 服务器
下载
mc
安装客户端并将其安装到系统PATH
的位置,例如/usr/local/bin
. 你可以从下载位置运行该二进制文件。wget https://dl.minio.org.cn/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/mc
使用
mc alias set`创建一个新的别名并将其关联到您的本地部署。 你可以运行 :mc:`mc
命令对指定别名的MinIO服务器发起控制:mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD} mc admin info local
在容器中使用
-e
参数 替换{MINIO_ROOT_USER}
和{MINIO_ROOT_PASSWORD}
自定义的MinIO超级管理员的账号和密码。mc alias set
命令需要包含4个参数:MacOS
MinIO客户端 允许您通过命令行与MinIO磁盘进行交互。
运行以下命令以使用指定包管理器安装最新稳定版本的MinIO客户端软件包 Homebrew.
brew install minio/stable/mc
运行以下命令,使用适用于Apple芯片的二进制包安装最新稳定版本的MinIO客户端软件包。
curl -O https://dl.minio.org.cn/client/mc/release/darwin-arm64/mc chmod +x mc sudo mv mc /usr/local/bin/mc
运行以下命令,使用适用于Intel芯片的二进制包安装最新稳定版本的MinIO客户端软件包。
curl -O https://dl.minio.org.cn/client/mc/release/darwin-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/mc
使用
mc alias set
以快速身份验证并连接到MinIO部署。mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD} mc admin info local
在容器中使用
-e
参数 替换{MINIO_ROOT_USER}
和{MINIO_ROOT_PASSWORD}
自定义的MinIO超级管理员的账号和密码。mc alias set
命令需要包含4个参数:Windows
从以下链接下载 Windows 专用的独立 MinIO 服务器:
https://dl.minio.org.cn/client/mc/release/windows-amd64/mc.exe
Double click on the file to run it. Or, run the following in the Command Prompt or PowerShell.
\path\to\mc.exe --help
使用
mc alias set
以快速身份验证并连接到MinIO部署。mc.exe alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD} mc.exe admin info local
在容器中使用
-e
参数 替换{MINIO_ROOT_USER}
和{MINIO_ROOT_PASSWORD}
自定义的MinIO超级管理员的账号和密码。mc alias set
命令需要包含4个参数: