minio/mintMint是MinIO对象服务器的测试框架,作为podman镜像提供。它运行正确性、基准测试和压力测试。以下是正确性测试中使用的SDK/工具:
Mint通过podman run命令运行,需要安装Podman。Podman安装步骤可参考此处。
以MinIO Play服务器为测试目标运行Mint:
sh$ podman run -e SERVER_ENDPOINT=play.minio.io:9000 -e ACCESS_KEY=Q3AM3UQ867SPQQA43P2F \ -e SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG -e ENABLE_HTTPS=1 minio/mint
测试完成后,输出日志存储在容器内的/mint/log目录。使用podman cp命令获取日志,例如:
shpodman cp <container-id>:/mint/log /tmp/logs
运行容器时需传递以下环境变量,支持的环境变量说明:
| 环境变量 | 描述 | 示例 |
|---|---|---|
SERVER_ENDPOINT | MinIO服务器端点,格式为HOST:PORT;虚拟风格访问时使用IP:PORT | play.minio.io:9000 |
ACCESS_KEY | SERVER_ENDPOINT的访问密钥 | Q3AM3UQ867SPQQA43P2F |
SECRET_KEY | SERVER_ENDPOINT的密钥 | zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG |
ENABLE_HTTPS | (可选)设为1表示使用HTTPS访问SERVER_ENDPOINT,默认0(HTTP) | 1 |
MINT_MODE | (可选)测试类别模式,取值core(核心)或full(完整),默认core | full |
DOMAIN | (可选)MinIO服务器中使用的MINIO_DOMAIN环境变量值 | myminio.com |
ENABLE_VIRTUAL_STYLE | (可选)设为1表示启用虚拟风格访问,默认0(路径风格) | 1 |
RUN_ON_FAIL | (可选)设为1表示即使失败也执行所有测试(目前支持minio-go和minio-java),默认0 | 1 |
SERVER_REGION | (可选)为区域特定测试设置自定义区域 | us-west-1 |
按以下步骤使用Mint测试MinIO服务器的虚拟风格访问:
export MINIO_DOMAIN=myminio.com。MINIO_DOMAIN的MinIO服务器运行Mint测试:sh$ podman run -e "SERVER_ENDPOINT=192.168.86.133:9000" -e "DOMAIN=minio.com" \ -e "ACCESS_KEY=minio" -e "SECRET_KEY=minio123" -e "ENABLE_HTTPS=0" \ -e "ENABLE_VIRTUAL_STYLE=1" minio/mint
所有测试日志以多JSON文档形式存储在容器内/mint/log/log.json文件中。日志中每个条目的JSON格式说明:
| JSON字段 | 类型 | 描述 | 示例 |
|---|---|---|---|
name | string | 测试工具/SDK名称 | "aws-sdk-php" |
function | string | 测试函数名称 | "getBucketLocation ( array $params = [] )" |
args | object | (可选)传递给测试函数的键值对参数映射 | {"Bucket":"aws-sdk-php-bucket-20341"} |
duration | int | 测试运行时间(毫秒) | 384 |
status | string | 测试状态,取值PASS(通过)、FAIL(失败)或NA(不适用) | "PASS" |
alert | string | (可选)指示测试失败的告警消息 | "I/O error on create file" |
message | string | (可选)日志消息 | "validating checksum of downloaded object" |
error | string | 状态为FAIL时的详细错误消息,包含堆栈跟踪 | "Error executing \"CompleteMultipartUpload\" on ... |
修改Mint源代码后,可构建并运行本地podman镜像:
sh$ podman build -t minio/mint . -f Dockerfile $ podman run -e SERVER_ENDPOINT=play.minio.io:9000 -e ACCESS_KEY=Q3AM3UQ867SPQQA43P2F \ -e SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG \ -e ENABLE_HTTPS=1 -e MINT_MODE=full minio/mint:latest
添加新工具/SDK测试需执行以下步骤:
install.sh,用于安装所需工具/SDK。run/core下的应用目录中添加run.sh,用于执行实际测试。测试可使用预创建的数据集对MinIO服务器执行各种对象操作。容器内/mint/data目录下提供以下数据文件:
| 文件名 | 大小 |
|---|---|
| datafile-0-b | 0B |
| datafile-1-b | 1B |
| datafile-1-kB | 1KiB |
| datafile-10-kB | 10KiB |
| datafile-33-kB | 33KiB |
| datafile-100-kB | 100KiB |
| datafile-1-MB | 1MiB |
| datafile-1.03-MB | 1.03MiB |
| datafile-5-MB | 5MiB |
| datafile-6-MB | 6MiB |
| datafile-10-MB | 10MiB |
| datafile-11-MB | 11MiB |
| datafile-65-MB | 65MiB |
| datafile-129-MB | 129MiB |
多数情况下,更新镜像中的SDK或二进制文件只需提交更新仓库中对应版本的修改。但某些情况(如更新mc,每次构建镜像时会拉取最新mc)需触发镜像重建,此时需提交“虚拟”修改(空提交可能无法触发Docker Hub镜像重建)。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务