
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该容器用于从源代码编译和组装OpenNMS,主要适用于RHEL或CentOS系统的OpenNMS分发。环境基于官方原生CentOS 7构建,采用Docker多阶段构建,因此需要Docker的Edge版本。由于Ubuntu或CentOS中的Docker版本过旧,请参考https://docs.docker.com/engine/installation进行安装,最终将获得可直接运行的容器镜像。建议使用https://docs.docker.com/compose/install/来描述服务栈,最小化服务栈需包含PostgreSQL和OpenNMS容器镜像。
编译和安装通过以下阶段实现:
为尽可能减少依赖并简化向其他基础镜像的迁移,安装过程采用与发行版无关的机制,仅将组装好的OpenNMS提取到/opt/opennms。在构建过程中,已移除对Perl和其他Bash脚本的依赖,并执行原生Maven命令,使整个构建过程更加透明。
编译和组装OpenNMS,默认使用官方OpenNMS GitHub仓库并检出develop分支:
docker build -t myopennms https://github.com/opennms-forge/docker-build-env.git
GitHub仓库中提供了示例docker-compose.yml文件,可用于构建和运行服务栈。
提示:请确保docker-compose.yml文件中使用的镜像名称与通过-t myopennms指定的名称一致。
运行OpenNMS:
docker-compose up -d
可使用--build-arg myarg=value指定以下构建参数以覆盖默认行为。
示例:通过设置构建参数编译名为jira/NMS-9328的特定OpenNMS分支,并将容器镜像名称设为该问题编号:
docker build \ -t nms-9328 \ https://github.com/opennms-forge/docker-build-env.git \ --build-arg OPENNMS_GIT_BRANCH_REF=jira/NMS-9328
| 参数 | 默认值 | 描述 |
|---|---|---|
| JAVA_VERSION | 1.8.0 | OpenJDK主版本 |
| JAVA_VERSION_DETAIL | 1.8.0.144 | OpenJDK RPM包中使用的版本号 |
| MAVEN_VERSION | 3.5.0 | Apache Maven版本号 |
| MAVEN_URL | http://ftp.halifax.rwth-aachen.de | Apache Maven包的服务器URL |
| MAVEN_PKG | ${MAVEN_URL}/apache/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz | Maven二进制包URL |
| MAVEN_PROXY_URL | 未设置,使用OpenNMS提供的Maven仓库 | 替代的Maven代理服务器,例如JFrog:http://<jfrog-ip>:8081/artifactory/remote-repos/ |
| NSIS_RPM_URL | http://yum.opennms.org/branches/develop/rhel7/nsis/mingw32-nsis-2.50-1.el7.centos.x86_64.rpm | NSIS包的URL |
| JICMP_GIT_REPO_URL | https://github.com/opennms/jicmp | JICMP的Git仓库URL |
| JICMP_GIT_BRANCH_REF | jicmp-2.0.4-1 | JICMP的标签或分支 |
| JICMP_SRC | /usr/src/jicmp | JICMP的源代码目录 |
| JICMP6_GIT_REPO_URL | https://github.com/opennms/jicmp6 | JICMP6的Git仓库URL |
| JICMP6_GIT_BRANCH_REF | jicmp6-2.0.3-1 | JICMP6的标签或分支 |
| JICMP6_SRC | /usr/src/jicmp6 | JICMP6的源代码目录 |
| JRRD2_GIT_REPO_URL | https://github.com/opennms/jrrd2 | JRRD2的Git仓库URL |
| JRRD2_GIT_BRANCH_REF | 2.0.4 | JRRD2的标签或分支 |
| JRRD2_SRC | /usr/src/jrrd2 | JRRD2的源代码目录 |
| OPENNMS_SRC | /usr/src/opennms | OpenNMS的源代码目录 |
| OPENNMS_HOME | /opt/opennms | OpenNMS的目标安装目录 |
| MAVEN_OPTS | "-XX:MaxHeapSize=2G -XX:ReservedCodeCacheSize=512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:-UseGCOverheadLimit -XX:+UseParallelGC -XX:+UseParallelOldGC" | 用于从源代码编译和组装OpenNMS的默认Maven选项 |
| OPENNMS_GIT_REPO_URL | https://github.com/opennms/opennms | OpenNMS的Git仓库URL |
| OPENNMS_GIT_BRANCH_REF | develop | OpenNMS的标签或分支 |
| BUILD_OPTIONS | "-q -DskipTests" | 用于编译和组装的自定义Maven选项 |
Ronny Trommer
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务