apluslms/run-aplus-frontrun-aplus-front是一个运行A-plus学习管理系统(Learning Management System)前端的Docker容器,默认将服务暴露在8000端口。需注意,A-plus前端服务单独运行时无法提供学习材料或练习的实现与托管能力,需连接至提供交互式内容的内容服务或评估服务(如A-plus MOOC-grader)。该镜像常用于A-plus平台开发、课程内容开发及测试部署场景。
/src/aplus(自动复制并编译翻译文件django.mo)或/srv/aplus(需手动编译翻译文件,但支持Django代码热重载)。/data目录作为卷(volume),包含提交文件、数据库文件及密钥,且支持普通用户运行(目录权限为全局可写)。APLUS_ENABLE_DJANGO_DEBUG_TOOLBAR控制Django Debug Toolbar的启用状态,辅助平台开发调试。容器默认运行A-plus前端服务并监听8000端口,可通过Docker Compose或docker run命令启动。以下为关键配置说明:
支持两种挂载开发版源代码的方式:
方式一:挂载至/src/aplus
容器会自动将源代码复制到/srv/aplus并编译翻译文件django.mo。示例:
yamlvolumes: - /path/to/local/aplus-source:/src/aplus:ro
方式二:挂载至/srv/aplus
需手动编译翻译文件(如django-admin compilemessages),但支持Django检测代码变更并自动重启服务(无需重启容器)。示例:
yamlvolumes: - /path/to/local/aplus-source:/srv/aplus:ro
/data目录为持久化卷,存储提交文件、数据库及密钥,建议通过命名卷或本地目录挂载以保证数据持久化:
yamlvolumes: - data:/data # 命名卷(推荐) # 或本地目录挂载:- /path/to/local/data:/data
| 环境变量 | 取值范围 | 说明 | 默认值 |
|---|---|---|---|
APLUS_ENABLE_DJANGO_DEBUG_TOOLBAR | 'true'/'false' | 控制Django Debug Toolbar启用状态,提供右侧面板显示调试数据(仅对平台开发者有用) | 'false' |
以下为典型的docker-compose.yml配置示例(包含与MOOC-grader的联动):
yamlservices: plus: image: apluslms/run-aplus-front environment: APLUS_ENABLE_DJANGO_DEBUG_TOOLBAR: 'true' # 启用调试工具栏(开发环境) volumes: - data:/data # 持久化数据卷 - /home/user/aplus-dev:/src/aplus:ro # 挂载开发版源代码(自动编译翻译文件) # 或挂载至/srv/aplus:- /home/user/aplus-dev:/srv/aplus:ro ports: - "8000:8000" # 暴露前端服务端口 depends_on: - grader # 依赖MOOC-grader服务 grader: image: apluslms/run-mooc-grader # 内容/评估服务 # 其他grader配置... volumes: data: # 定义数据卷
/srv/aplus时,需提前手动编译翻译文件(django-admin compilemessages),否则可能出现翻译相关错误。APLUS_ENABLE_DJANGO_DEBUG_TOOLBAR建议仅在开发环境启用,生产环境禁用以避免性能影响。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务