
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本项目发布Evergreen各版本的Docker容器,提供自包含的Ubuntu 16.04/18.04/20.04/22.04/24.04服务器环境,内置PostgreSQL 9.5/9.6/10/15数据库。包含Web版员工客户端及XUL Runner员工客户端(3.2版本前)。Evergreen全局管理员账户默认凭据:admin/demo123。
运行容器时需映射以下端口:
| 用途 | Docker参数 |
|---|---|
| 标准Web服务 | -p 80:80 |
| 标准SSL服务 | -p 443:443 |
| SIP服务 | -p 6001:6001 |
| Z39.50服务 | -p 210:210 |
| SSH服务 | -p 32:22 |
| PostgreSQL数据库 | -p 5433:5432 |
需为容器指定主机名,避免Docker自动生成。若自动生成的主机名以数字开头,OpenSRF将无法启动。
bashdocker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 32:22 -p 5433:5432 -h app.evergreen.com mobiusoffice/evergreen-ils
容器运行后,Ansible脚本将自动执行,最终显示:
PLAY RECAP 127.0.0.1 : ok=74 changed=53 unreachable=0 failed=0
看到以上信息表示服务器已设置完成,可接受连接。注意:按CTRL+C会终止服务器,应使用CTRL+pq使容器在后台运行。
Docker容器的SSH登录默认凭据:user/password
Evergreen全局管理员账户默认凭据:admin/demo123
创建镜像的Git仓库:https://github.com/mcoia/eg-docker
已停止ejabberd开发容器,仅保留Redis开发容器。
开发容器用于将本地Evergreen Git仓库注入容器,实时反映代码更改至服务器环境。
bashdocker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 32:22 -p 5433:5432 -v /home/user/Evergreen:/home/opensrf/repos/Evergreen -h test.evergreen.com mobiusoffice/evergreen-ils:dev
bashdocker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 32:22 -p 5433:5432 -v //c/users/blake/Documents/GitHub/Evergreen:/home/opensrf/repos/Evergreen -h test.evergreen.com mobiusoffice/evergreen-ils:dev
开发容器(evergreen-ils:dev)需挂载本地文件系统,以便在本地编辑Evergreen文件。需先克隆Evergreen Git仓库至本地,通过-v参数将文件夹路径传入docker run命令(见上文示例,需根据实际路径修改)。
容器会将本地Evergreen仓库中的文件符号链接至服务器环境的多个目录,具体映射如下:
| 本地路径 | 目标路径 |
|---|---|
| /home/opensrf/repos/Evergreen/Open-ILS/web/js/ui/default/staff | /openils/var/web/js/ui/default/staff |
| /home/opensrf/repos/Evergreen/Open-ILS/web/eg2 | /openils/var/web/eg2 |
| /home/opensrf/repos/Evergreen/Open-ILS/src/perlmods/lib/OpenILS | /usr/local/share/perl/5.34.0/OpenILS |
| /home/opensrf/repos/Evergreen/Open-ILS/web/opac/deps | /openils/var/web/opac/deps |
| /home/opensrf/repos/Evergreen/Open-ILS/src/templates | /openils/var/templates |
| /home/opensrf/repos/Evergreen/Open-ILS/src/templates-bootstrap | /openils/var/templates-bootstrap |
容器运行时,在Evergreen Git仓库根目录创建名为eg_restart_go的文件,容器的定时任务(每分钟执行)会检测到此文件,删除文件并重启Evergreen服务栈(包括Ejabberd)。重启输出日志保存在eg_restart_go_screenoutput文件中。
在Evergreen Git仓库根目录创建名为eg_rebuild_angular的文件,容器会触发Angular客户端重建。重建过程约需1分钟,输出日志保存在eg_rebuild_angular_screenoutput文件中。
容器运行时,通过Evergreen文件夹根目录的db_control.txt文件(空格分隔的三列)配置数据库:
| 列1 | 列2 | 列3 |
|---|---|---|
| database_name | database_type | use_this_flag (*) |
初始文件内容:
evergreen standard * evergreen_enhanced enhanced
将*移至第二行,容器会自动更新OpenSRF配置指向新数据库并重启服务。可添加多行(无*),容器会根据指定类型(standard/enhanced)在PostgreSQL中创建数据库。操作日志输出至db_switch.log。
可在本地环境(容器外)使用Angular watch,加快代码更改的反映速度。需进入运行中的开发容器,执行以下命令调整符号链接:
bash# 删除现有符号链接 rm -f /openils/var/web/eg2 # 创建指向Evergreen目录的新符号链接 ln -s /home/opensrf/repos/Evergreen/Open-ILS/web/eg2 /openils/var/web/eg2
之后即可在本地运行npm run watch。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务