
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像提供Library Simplified/SimplyE基于Web的用户界面的Docker化演示,父代码库地址为https://github.com/NYPL-Simplified/circulation-patron-web。
若需开发该项目代码,需构建本地Docker镜像以查看变更;若仅需本地运行项目,可直接跳至“从镜像运行容器”部分使用第二条命令。
当需本地查看代码变更时,需构建包含变更的本地Docker镜像,步骤如下:
将代码变更推至当前环境可访问的独立git仓库。例如,假设GitHub用户名为nedgavlin,已将父仓库fork至个人账号,并将变更推至名为my-code-changes的工作分支(将在步骤6中使用)。
克隆本仓库至干净目录并进入该目录:
bashgit clone https://github.com/lyrasis/docker-patron-web.git ./patronweb cd patronweb
按父项目README要求,需通过向Circulation Manager添加站点级设置,配置本地应用对Circulation Manager的开发访问权限,必要时查阅该文档。
查看config/cm-libraries.conf.sample文件,了解如何创建配置文件以将Web应用链接至图书馆的SimplyE Circulation Manager,从而拉取目录数据。该Web客户端可配置为多图书馆提供服务,多租户环境下,每个图书馆在配置文件中单独占一行。
创建空配置文件config/cm-libraries.conf或复制示例文件config/cm-libraries.conf.sample至该路径,然后为每个托管的图书馆添加一行配置。示例:某图书馆的Circulation Manager短名为abclib,服务域为circulation-simplye.library.org,配置如下(建议与Circulation Manager使用相同短名,但非强制):
abclib|http://circulation-simplye.library.org/abclib
配置文件创建完成后,即可构建Docker镜像。以下命令使用步骤1中提到的仓库信息构建(Docker环境需时使用sudo):
bashdocker build -f Dockerfile \ --build-arg PATRONWEB_REPO=https://github.com/nedgavlin/circulation-patron-web.git \ --build-arg REPO_VERSION=my-code-changes \ --no-cache -t patronweb .
若需使用父项目(未修改)代码构建,无需上述--build-arg参数,Dockerfile默认拉取父项目代码,命令如下:
bashdocker build -f Dockerfile \ --no-cache -t patronweb .
如需自定义镜像,可创建额外Dockerfile(如Dockerfile.second),并在构建命令中指定文件名。镜像构建耗时约4-6分钟,取决于网络速度和Node包服务器负载。
镜像准备就绪后,可快速实例化容器。
使用本地构建的镜像创建容器:
bashdocker run --rm --name patronweb -d -p 3000:3000 \ --restart=unless-stopped \ -e "CONFIG_FILE=/config/cm-libraries.conf" \ -v "./config:/config" patronweb
使用父项目上传至Docker Hub的预构建镜像:
bashdocker run --rm --name patronweb -d -p 3000:3000 \ --restart=unless-stopped \ -e "CONFIG_FILE=/config/cm-libraries.conf" \ -v "./config:/config" lyrasis/patron-web
除docker run命令外,可使用docker-compose工具部署,其优势在于将运行参数封装为配置文件,便于版本控制。本仓库提供示例docker-compose.yml文件,可根据开发需求调整。
使用docker-compose创建容器:
bashdocker-compose up
传入容器的所有环境变量将传递至node进程,因此可通过设置配置文件或注册服务器实现应用自定义配置。
容器中node进程的用户ID,默认值为990。
容器中node进程的组ID,默认值为990。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务