Hydro作为新一代高效强大的信息学在线测评系统,通过Docker容器化部署能够实现快速安装和环境隔离。🚀 本文将详细介绍Hydro的Docker部署方案,帮助您在容器化环境下实现高效运行。

【免费下载链接】Hydro Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5) 【免费下载链接】Hydro 项目地址: https://gitcode.com/gh_mirrors/hy/Hydro

为什么选择Docker部署Hydro?

Docker部署Hydro具有多重优势:环境隔离确保系统稳定性,快速部署减少配置时间,资源隔离提高运行效率。特别适合需要快速搭建测评环境的教育机构和竞赛组织者。

准备工作与环境要求

在开始部署前,请确保您的系统满足以下条件:

  • Docker环境:已安装Docker和Docker Compose
  • Linux系统:推荐使用Linux操作系统
  • 磁盘空间:至少2GB可用空间
  • 网络连接:稳定的网络连接用于下载依赖

快速安装步骤详解

1. 获取项目代码

首先克隆Hydro项目到本地:

git clone https://gitcode.com/gh_mirrors/hy/Hydro.git
cd Hydro/install/docker

2. 启动Docker服务

执行以下命令启动所有服务:

docker-compose up -d

这个过程会根据网络情况自动搭建,大约需要5-30分钟,全程无需人工干预。

Hydro系统背景

服务架构解析

Hydro的Docker部署包含三个核心服务:

后端服务 (oj-backend)

  • 基于Node.js 22构建
  • 运行在8888端口
  • 提供核心API功能

测评服务 (oj-evaluator)

  • 包含完整的编译器环境
  • 支持多种编程语言
  • 提供代码评测能力

数据库服务 (oj-mongo)

  • 使用MongoDB 7数据库
  • 存储系统所有数据

配置详解与优化

端口映射配置

默认配置中将主机的80端口映射到容器的8888端口。如需修改端口,请编辑docker-compose.yml文件中的端口映射设置。

测评服务编译器支持

测评服务默认安装了12种编译器:

  1. GCC (C语言编译器)
  2. Python3 (Python解释器)
  3. G++ (C++编译器)
  4. Free Pascal编译器
  5. OpenJDK 17 (Java开发工具包)
  6. PHP CLI (PHP命令行接口)
  7. Rust编译器
  8. Glasgow Haskell编译器
  9. JavaScriptCore
  10. Go语言
  11. Ruby
  12. Mono (.NET框架)

系统访问与初始配置

部署完成后,通过浏览器访问 http://localhost 即可进入Hydro系统。首次使用需要注意以下事项:

默认账号配置

系统会自动注册一个测评账号:

  • 用户名:evaluator
  • 密码:examplepassword

重要提醒:请务必及时修改默认密码,并同步更新evaluator/evaluator.yaml配置文件中的密码设置,否则可能导致测评功能异常。

Hydro渐变背景

监控与维护指南

服务状态检查

使用以下命令检查所有容器状态:

docker ps -a

所有容器状态不应出现 Exited (x) xxx 字样,确保系统正常运行。

数据持久化

所有数据都保存在本地卷中:

  • 数据库数据:./data/mongo
  • 文件存储:./data/file
  • 后端配置:./data/backend

常见问题与解决方案

安装失败排查

如果安装失败,请检查:

  • Docker服务是否正常运行
  • 网络连接是否稳定
  • 磁盘空间是否充足

总结

Hydro的Docker部署方案提供了简单高效的安装方式,特别适合快速搭建在线测评环境。通过容器化技术,实现了环境隔离和资源管理,确保系统稳定运行。💪

记住,Docker部署方式适合熟悉容器技术的用户,普通用户建议使用自动脚本安装以获得更好的技术支持体验。无论选择哪种方式,Hydro都能为您提供强大的在线测评功能!

【免费下载链接】Hydro Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5) 【免费下载链接】Hydro 项目地址: https://gitcode.com/gh_mirrors/hy/Hydro

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐