runtimes-docker 是 DMOJ(Distributed Multi-Open Judge)在线评测系统官方提供的运行时环境镜像,用于为 DMOJ 平台提供隔离、安全、标准化的编程语言执行环境。该镜像预装了多种编程语言的编译器、解释器及依赖库,旨在简化 DMOJ 系统部署流程,确保评测任务在一致的环境中高效执行。
作为 DMOJ 在线评测系统的核心依赖组件,为代码提交提供运行时环境支持。
用于搭建本地或云端编程竞赛的自动化评测系统,支持多语言题目评测。
为编程教学平台提供安全的代码执行环境,支持学生作业自动批改和实时反馈。
从 Docker 镜像仓库拉取最新版本(需确保已配置 DMOJ 官方镜像源或访问公开仓库):
bashdocker pull dmoj/runtimes-docker:latest
4.2.1 基本运行命令
bashdocker run -d \ --name dmoj-runtimes \ --network dmoj-network \ # 与 DMOJ 主服务在同一网络 --cap-add=SYS_ADMIN \ # 部分沙箱功能可能需要额外权限(视安全策略调整) -v /path/to/temp:/tmp \ # 挂载临时目录用于评测任务 dmoj/runtimes-docker:latest
4.2.2 资源限制配置
通过 Docker 原生参数限制容器资源,避免单个评测任务过度占用系统资源:
bashdocker run -d \ --name dmoj-runtimes \ --memory=4g \ # 限制内存使用 --cpus=2 \ # 限制 CPU 核心数 --network dmoj-network \ dmoj/runtimes-docker:latest
适用于与 DMOJ 主服务协同部署的场景,创建 docker-compose.yml:
yamlversion: '3' services: dmoj-runtimes: image: dmoj/runtimes-docker:latest container_name: dmoj-runtimes networks: - dmoj-net volumes: - ./dmoj-temp:/tmp # 本地临时目录挂载 - ./logs:/var/log/dmoj-runtimes # 日志目录挂载 environment: - RUNTIME_TIMEOUT=5 # 默认评测超时时间(秒) - MAX_MEMORY=1024 # 默认最大内存限制(MB) deploy: resources: limits: cpus: '2' memory: 4G networks: dmoj-net: driver: bridge
启动服务:
bashdocker-compose up -d
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
RUNTIME_TIMEOUT | 单个评测任务默认超时时间(秒) | 5 |
MAX_MEMORY | 默认单任务内存限制(MB) | 1024 |
SUPPORTED_LANGUAGES | 启用的编程语言列表(逗号分隔) | 全部支持语言 |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO |
| 挂载路径 | 说明 | 建议配置 |
|---|---|---|
/tmp | 评测任务临时文件存储 | 必须挂载,避免容器内临时目录空间不足 |
/var/log/dmoj-runtimes | 运行时日志输出目录 | 可选,便于问题排查 |
/etc/dmoj/runtimes | 自定义运行时配置文件目录 | 可选,覆盖默认配置 |
--cap-add 或 --privileged 权限(生产环境需谨慎评估安全风险)。docker run --rm dmoj/runtimes-docker:latest --list-languages 命令查看详细列表。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务