
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像包含OpenLMIS-UI生成所需的工具和核心包,基于debian-jesse构建。OpenLMIS-UI是一个通过NPM流程构建的单页应用,本镜像提供了完整的开发环境,支持应用构建、测试及开发服务器运行,适用于OpenLMIS-UI的模块化开发与构建流程。
/dev-ui:构建工具源码目录,开发构建工具时需显式挂载/app:应用主目录,存放NPM配置文件(config.json),所有构建产物和依赖文件将在此生成9000:开发服务器HTTP端口9876:Karma测试运行器调试端口如需基于本地文件系统更新运行Dev-UI镜像,执行以下步骤:
bash# 从本地仓库构建镜像(可选) docker build -t openlmis/dev-ui . # <dev-ui>:本地Dev-UI文件路径,建议使用$(pwd) # <app-dir>:应用文件路径(可选) # 注意:此命令未包含端口映射 docker run -it --rm -v <dev-ui>:/dev-ui -v <app-dir>:/app openlmis/dev-ui # 进入容器后,安装Dev-UI包到应用目录 cd /app npm install
如需实时查看构建流程变更(无需重复执行npm install),使用npm link命令:
bash# 进入应用目录 cd /app # 清理并重新安装依赖 rm -rf node_modules npm install # 创建软链接,实时反映/dev-ui目录变更 npm link /dev-ui # 编辑Grunt任务后,运行时将自动应用变更
大多数交互通过docker-compose完成(详见其他仓库文档),以下为原生Docker使用方法。
基本运行命令:
bashdocker run -it --rm -v $(pwd):/app openlmis/dev-ui
典型开发流程:
bash# 映射9000端口,启动开发服务器 docker run -it --rm -p 9000:9000 -v $(pwd):/app openlmis/dev-ui # 进入应用目录 cd /app # 安装依赖 npm install # 构建并启动开发服务器 grunt build --serve
OpenLMIS-UI通过多仓库构建,需在config.json中配置目录加载顺序(后加载目录会覆盖先加载目录的资源)。所有路径应为绝对路径。
示例config.json:
json"orderedBuildDirectories": [ "/openlmis-ui-base", "/openlmis-ui-styles", "/openlmis-requisition-ui", "/openlmis-orders-ui", "/openlmis-reference-ui" ]
注意:
/dev-ui目录默认优先加载(除非在config.json中显式指定)/app)默认最后加载(除非已在config.json中指定)以下命令基于dev-ui/tasks中定义的基础任务,可在自定义Gruntfile中复用、覆盖或重组:
grunt:依次执行bower、build、karma:unitgrunt build:构建OpenLMIS-UIgrunt watch:监听文件变更并自动重建grunt serve:启动开发服务器,提供./build/目录访问grunt clean:清空构建目录和临时文件grunt bower:遍历所有应用构建目录,安装各目录bower.json定义的依赖grunt karma:unit:运行Jasmine单元测试grunt karma:tdd:TDD模式运行单元测试(文件变更时自动重跑)通过命令行标志可覆盖基础配置:
--production:启用生产模式,压缩混淆文件--noDocs:禁用JS文档生成(运行grunt build时)--noStyleguide:禁用KSS样式指南生成(运行grunt build时)--serve:与其他命令一起运行开发服务器(保持进程活跃),并自动将HTTP开头的URL替换为带CORS头的代理URL--syncTransifex:扩展grunt messages命令,同步各应用的messages_en.json至Transifex,需满足:
config.json中定义transifexProjectNameTRANSIFEX_USER、TRANSIFEX_PASSWORD)或命令行标志(--transifexUser=、--transifexPassword=)提供Transifex凭据开发时与OpenLMIS服务器或服务交互需处理跨域问题,开发服务器会自动创建本地代理URL并替换外部URL,添加CORS头。
应用中以@@为前缀的字符串会被自动替换为匹配的配置项。变量名使用CONSTANT_CASE,配置项使用camelCase。
示例:
json// config.json中添加 { "openlmisServerUrl": "http://somewhere.over.the/rainbow/" } // 或构建命令中添加标志 grunt build --openlmisServerUrl=http://somewhere.over.the/rainbow
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务