本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

PrairieLearn C语言外部自动评分器镜像是PrairieLearn在线学***系统的专用组件,用于对C语言编程作业和测试进行自动化评分。该镜像集成了C语言编译环境、测试用例执行引擎和评分规则模块,可与PrairieLearn系统对接,实现C代码提交后的自动编译、运行验证及分数计算,提升C语言作业批改效率。
通过Docker Hub拉取最新版本镜像:
docker pull prairielearn/prairielearn-c-autograder:latest
以下命令展示如何通过Docker运行镜像,对指定C代码进行评分(需配合测试用例和配置):
docker run --rm \ -v /local/test-cases:/app/test-cases \ # 挂载测试用例目录(含输入/预期输出文件) -v /local/submitted-code:/app/submitted \ # 挂载学生提交的C代码目录(如main.c) -e SCORE_CRITERIA="test_case_pass_rate" \ # 指定评分标准为测试用例通过率 -e COMPILE_FLAGS="-Wall -Werror -std=c99" \ # 设置编译参数(开启警告并视为错误,使用C99标准) -e TIMEOUT=20 \ # 设置运行超时时间为20秒 prairielearn/prairielearn-c-autograder:latest
| 参数名 | 说明 | 默认值 |
|---|---|---|
SCORE_CRITERIA | 评分标准,可选值:test_case_pass_rate(测试用例通过率)、code_quality(代码质量)、combined(综合评分) | test_case_pass_rate |
COMPILE_FLAGS | C编译器参数,如-O2(优化)、-lm(链接数学库)等 | -std=c99 |
TIMEOUT | 程序运行超时时间(秒),超时将终止运行并记录为失败 | 30 |
OUTPUT_PRECISION | 数值输出比对精度(小数位数),仅用于浮点数结果比对 | 6 |
| 挂载路径 | 说明 | 必需性 |
|---|---|---|
/app/test-cases | 测试用例目录,需包含: - input_*.txt:输入文件(如input_1.txt)- expected_*.txt:对应预期输出文件(如expected_1.txt) | 是 |
/app/submitted | 学生提交代码目录,需包含待评分的C代码文件(默认读取main.c,可通过CODE_FILE环境变量指定文件名) | 是 |
/app/output | 评分结果输出目录,将生成score.json(评分结果)和log.txt(详细日志) | 否 |
评分完成后,镜像将生成JSON格式的评分结果(默认输出至/app/output/score.json),包含以下关键字段:
score:最终得分(0-100分)passed_tests:通过的测试用例数量total_tests:总测试用例数量compile_status:编译状态(success/failed)error_details:错误详情(如编译错误信息、运行时异常)完整技术文档及接口规范请参考PrairieLearn文档:[]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429