Mint是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 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务