MinIO 对象存储 for Container
MinIO 是一种对象存储解决方案,提供与 Amazon Web Services S3 兼容的 API,并支持所有核心 S3 功能。MinIO 构建用于在任何地方部署 - 公有云或私有云、裸机基础设施、编排环境和边缘基础设施。
本网站记录了在容器上部署 MinIO 的操作、管理和开发,适用于 MinIO 的最新稳定版本: RELEASE.2024-10-29T16-01-48Z.
MinIO 在双重许可下发布 GNU Affero 通用公共许可证 v3.0 和 MinIO 商业许可证。通过 MinIO SUBNET 注册的部署使用商业许可证,并包含访问 24/7 MinIO 支持。
您可以使用 MinIO 控制台 和我们在 https://play.min.io 上的 play
服务器开始探索 MinIO 功能。play
是一个运行最新稳定版 MinIO 服务器的公共 MinIO 集群。上传到 play
的任何文件都应被视为公共且不受保护的。有关连接到 play
的更多信息,请参阅 MinIO 控制台 play 登录。
容器快速入门
此过程将 单节点单驱动器 MinIO 服务器部署到 Docker 或 Podman 上,用于 MinIO 对象存储及其 S3 兼容 API 层的早期开发和评估。
有关部署到生产环境的说明,请参阅 部署 MinIO:多节点多驱动器。
先决条件
步骤
启动容器
选择容器类型以查看创建容器的说明。说明适用于 GNU/Linux 和 MacOS 或 Windows。
Podman(Rootfull 或 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
。这些分别设置 root 用户凭据。更改示例值以用于您的容器。
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
时,这些数据会镜像到本地路径D:\minio\data
,使其能够在容器重启之间持久化。您可以设置任何用户具有读、写和删除权限的文件路径来使用。-e
设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
。这些分别设置 root 用户凭据。更改示例值以用于您的容器。
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
的新本地目录。docker run
启动 MinIO 容器。-p
将本地端口绑定到容器端口。-name
为容器创建名称。-v
用于设置文件路径作为容器使用的持久化卷位置。当 MinIO 将数据写入/data
时,这些数据会镜像到本地路径~/minio/data
,使其能够在容器重启之间持久化。您可以将~/minio/data
替换为另一个用户具有读、写和删除权限的本地文件位置。-e
设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
。这些分别设置 root 用户凭据。更改示例值以用于您的容器。
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
启动 MinIO 容器。-p
将本地端口绑定到容器端口。-v
用于设置文件路径作为容器使用的持久化卷位置。当 MinIO 将数据写入/data
时,这些数据会镜像到本地路径D:\minio\data
,使其能够在容器重启之间持久化。您可以将D:\minio\data
替换为另一个用户具有读、写和删除权限的本地文件位置。-e
设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
。这些分别设置 root 用户凭据。更改示例值以用于您的容器。
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
的新本地目录。docker run
启动 MinIO 容器。-p
将本地端口绑定到容器端口。-user
将容器的用户名设置为当前用户和用户组的策略。-name
为容器创建名称。-v
用于设置文件路径作为容器使用的持久化卷位置。当 MinIO 将数据写入/data
时,这些数据实际上会写入本地路径~/minio/data
,使其能够在容器重启之间持久化。您可以将${HOME}/minio/data
替换为用户主目录中的另一个用户具有读、写和删除权限的位置。-e
设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
。这些分别设置 root 用户凭据。更改示例值以用于您的容器。
先决条件
Windows 已定义 组托管服务帐户。
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
启动 MinIO 容器。-p
将本地端口绑定到容器端口。-name
为容器创建名称。--security-opt
通过credentialspec
文件为 组托管服务帐户 (gMSA) 授予容器访问权限。-v
用于设置文件路径作为容器使用的持久化卷位置。当 MinIO 将数据写入/data
时,这些数据实际上会写入本地路径D:\data
,使其能够在容器重启之间持久化。您可以将D:\data
替换为另一个用户具有读、写和删除权限的本地文件位置。-e
设置环境变量MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
。这些分别设置 root 用户凭据。更改示例值以用于您的容器。
将您的浏览器连接到 MinIO 服务器
通过访问浏览器并转到
http://127.0.0.1:9000
或minio server
命令输出中指定的控制台地址之一来访问 MinIO 控制台。例如,示例输出中的 控制台:http://192.0.2.10:9001 http://127.0.0.1:9001 指示了用于连接到控制台的两个可能的地址。虽然端口
9000
用于连接到 API,但 MinIO 会自动将浏览器访问重定向到 MinIO 控制台。使用您在
MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
环境变量中定义的凭据登录控制台。您可以使用 MinIO 控制台执行一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。每个 MinIO 服务器都包含其自己的嵌入式 MinIO 控制台。
有关更多信息,请参阅 MinIO 控制台 文档。
(可选) 安装 MinIO 客户端
MinIO 客户端 允许您从命令行操作 MinIO 卷。
选择您的操作系统以获取说明。
GNU/Linux
MinIO 客户端 允许您从命令行操作 MinIO 服务器。
下载
mc
客户端并将其安装到系统PATH
上的位置,例如/usr/local/bin
。或者,您可以从下载位置运行二进制文件。wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/mc
使用
mc alias set
创建与您的本地部署关联的新别名。您可以针对此别名运行mc
命令。mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD} mc admin info local
将
{MINIO_ROOT_USER}
和{MINIO_ROOT_PASSWORD}
替换为使用-e
标志为容器定义的凭据。mc alias set
接受四个参数。有关此命令的更多详细信息,请参阅 mc alias set。
MacOS
MinIO 客户端 允许您从命令行操作 MinIO 卷。
运行以下命令,使用 Homebrew 安装最新的稳定 MinIO 客户端软件包。
brew install minio/stable/mc
运行以下命令,使用适用于 Apple 芯片的二进制软件包安装最新的稳定 MinIO 客户端软件包。
curl -O https://dl.min.io/client/mc/release/darwin-arm64/mc chmod +x mc sudo mv mc /usr/local/bin/mc
运行以下命令,使用适用于 Intel 芯片的二进制软件包安装最新的稳定 MinIO 客户端软件包。
curl -O https://dl.min.io/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
将
{MINIO_ROOT_USER}
和{MINIO_ROOT_PASSWORD}
替换为使用-e
标志为容器定义的凭据。mc alias set
接受四个参数。有关此命令的更多详细信息,请参阅 mc alias set。
Windows
从以下链接下载适用于 Windows 的独立 MinIO 服务器。
https://dl.min.io/client/mc/release/windows-amd64/mc.exe
双击文件以运行它。或者,在命令提示符或 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
将
{MINIO_ROOT_USER}
和{MINIO_ROOT_PASSWORD}
替换为使用-e
标志为容器定义的凭据。mc alias set
接受四个参数。有关此命令的更多详细信息,请参阅 mc alias set。