中文文档

MinIO对象存储 Container

重要

最新的汉化工作正在紧张推进中,若需要商业技术支持和授权购买请联系4008-566-339。

对MinIO有更多建议,您可以联系:sales@minio.org.cn.

MinIO是一个对象存储解决方案,它提供了与Amazon Web Services S3兼容的API,并支持所有核心S3功能。 MinIO有能力在任何地方部署 - 公有云或私有云,裸金属基础设施,编排环境,以及边缘基础设施。

网站的文档上了MinIO部署在容器上的操作、管理和开发文档,适用于最新稳定版本的MinIO:RELEASE.2025-04-22T22-12-26Z

MinIO在双重许可证下发布,一个是 AGPL v3.0MinIO商业许可证. 通过 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.

先决条件

  • 已经安装了 Podman 或者 Docker

  • 对用于持久卷的文件夹或驱动器具有读取、写入和删除权限。

操作步骤

  1. 启动容器

    选择一个容器类型以查看创建容器的指南。 提供了适用于 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_USERMINIO_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_USERMINIO_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_USERMINIO_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_USERMINIO_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_USERMINIO_ROOT_PASSWORD. 这些说明了如下设置: 如何修改默认管理员的用户名和密码. 将示例值更改为您要用于容器的值。

    Prerequisite:

    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_USERMINIO_ROOT_PASSWORD. 这些说明了如下设置: 如何修改默认管理员的用户名和密码. 将示例值更改为您要用于容器的值。

  2. 通过浏览器访问MinIO服务器

    通过浏览器访问 minio-consolehttp://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_USERMINIO_ROOT_PASSWORD 修改。

    MinIO控制台 displaying login screen

    您可以使用 MinIO 控制台完成一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。 每个 MinIO 服务器都包含其自己的嵌入式 MinIO 控制台。

    MinIO控制台显示未输入用户名和密码的界面

    获取更多信息请查看 minio-console 文档.

  3. (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个参数:

    • 别名的名称

    • MinIO服务器的主机名或IP地址和端口

    • 用于访问MinIO的访问密钥(Access Key) user

    • 用于访问MinIO的访问私钥(Secret Key) user

    有关此命令的更多详细信息,请详见 alias.

    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个参数:

    • 别名的名称

    • MinIO服务器的主机名或IP地址和端口

    • 用于访问MinIO的访问密钥(Access Key) user

    • 用于访问MinIO的访问私钥(Secret Key) user

    有关此命令的更多详细信息,请详见 alias.

    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个参数:

    • 别名的名称

    • MinIO服务器的主机名或IP地址和端口

    • 用于访问MinIO的访问密钥(Access Key) user

    • 用于访问MinIO的访问私钥(Secret Key) user

    有关此命令的更多详细信息,请详见 alias.

下一步

Join Slack 商业支持购买咨询