
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
最新版本的README可在 https://github.com/jjethwa/icinga2/blob/master/README.md 查看。
本仓库包含 icinga2 Docker 镜像的源码,Docker Hub仓库地址为 https://hub.docker.com/r/jordan/icinga2/%E3%80%82%E9%95%9C%E5%83%8F%E6%9E%84%E5%BB%BA%E9%80%9A%E8%BF%87Git%E4%BB%93%E5%BA%93%E6%8E%A8%E9%80%81%E8%87%AA%E5%8A%A8%E8%A7%A6%E5%8F%91%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E6%8B%89%E5%8F%96%EF%BC%9A
bashdocker pull jordan/icinga2
docker exec 或 nsenter 进入容器。启动容器并映射主机80端口:
bashdocker run -p 80:80 -h icinga2 -t jordan/icinga2:latest
克隆仓库并创建 secrets_sql.env 文件,包含 MYSQL_ROOT_PASSWORD 变量:
bashgit clone https://github.com/jjethwa/icinga2.git cd icinga2 echo "MYSQL_ROOT_PASSWORD=<密码>" > secrets_sql.env docker-compose up
此命令将启动icinga(web)2容器及关联的MySQL容器,通过 http://localhost 访问,默认凭据为 icingaadmin:icinga。
为确保容器重启后数据不丢失,需设置以下环境变量:
DEFAULT_MYSQL_PASS:icinga2数据库用户密码MYSQL_ROOT_PASSWORD:数据库root管理员密码(若提供,容器将尝试重置icinga2用户密码)使用 /var/lib/mysql 卷或外部数据库时,上述变量尤为重要。
通过 http://localhost/icingaweb2 访问Icinga Web 2,默认凭据为 icingaadmin:icinga(可通过变量修改)。若挂载 /etc/icingaweb2 卷,需设置 ICINGAWEB2_ADMIN_USER 和 ICINGAWEB2_ADMIN_PASS。
如需跨重启保存PHP会话,挂载 /var/lib/php/sessions/ 目录:
bashdocker run [...] -v $PWD/icingaweb2-sessions:/var/lib/php/sessions/ jordan/icinga2
设置 ICINGA2_FEATURE_GRAPHITE 为 true 或 1 启用Graphite写入器,并配置 ICINGA2_FEATURE_GRAPHITE_HOST 和 ICINGA2_FEATURE_GRAPHITE_PORT。容器未内置Graphite和carbon守护进程,ICINGA2_FEATURE_GRAPHITE_HOST 不可设为 localhost。示例:
bashdocker run -t \ --link graphite:graphite \ -e ICINGA2_FEATURE_GRAPHITE=true \ -e ICINGA2_FEATURE_GRAPHITE_HOST=graphite \ -e ICINGA2_FEATURE_GRAPHITE_PORT=2003 \ jordan/icinga2:latest
需按 https://github.com/jjethwa/icinga2/issues/275#issuecomment-*** 修改保留策略。
Icinga Web 2 Director模块默认启用并自动初始化。设置 DIRECTOR_KICKSTART 为 false 可禁用启动时自动初始化。自定义初始化配置需修改 /etc/icingaweb2/modules/director/kickstart.ini。
容器默认配置为API主节点,需注意:
-h 或 hostname 设置容器主机名(需与卫星节点配置的主节点名称一致)/etc/icinga2 和 /var/lib/icinga2 卷容器内置 msmtp,用于转发邮件至SMTP服务器。需配置 msmtp/msmtprc(通用配置)和 msmtp/aliases(用户-***映射),并挂载到容器。
msmtp/msmtprc:
inidefaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile /var/log/msmtp.log aliases /etc/aliases # Gmail配置示例 account gmail host smtp.gmail.com port 587 from <your-email@gmail.com> user <your-email@gmail.com> password <密码或GPG解密命令> account default: gmail
msmtp/aliases:
iniroot:<你的邮箱> default:<你的邮箱>
修改 data/icinga/etc/icinga2/conf.d/users.conf 中的 root@localhost 为 root 或有效外部***。挂载配置文件:
bash-v $(pwd)/msmtp/aliases:/etc/aliases:ro -v $(pwd)/msmtp/msmtprc:/etc/msmtprc:ro
挂载包含以下文件的卷至 /etc/apache2/ssl 以启用SSL:
icinga2.crt:Apache证书文件icinga2.key:私钥文件icinga2.chain(可选):证书链文件通过 APACHE2_HTTP 变量配置HTTP/HTTPS行为:REDIRECT(重定向至HTTPS)或 BOTH(同时支持)。
将CA证书(.crt格式)挂载至 /usr/local/share/ca-certificates/,容器启动时会自动添加到CA存储。
将模块安装到 /etc/icingaweb2/enabledModules 卷中以使用自定义模块。
容器支持内置MySQL或外部MySQL服务。默认使用内置MySQL,docker-compose.yml 示例中使用独立MySQL容器。未来版本将默认要求外部MySQL/MariaDB容器。
通过环境变量配置数据库连接,格式为 <服务>_MYSQL_<属性>,其中 <服务> 可选 ICINGA2_IDO、ICINGAWEB2、ICINGAWEB2_DIRECTOR,<属性> 可选 HOST、PORT、DATA、USER、PASS。关键变量:
DEFAULT_MYSQL_HOST:默认数据库主机(默认localhost)DEFAULT_MYSQL_PASS:icinga2用户密码(默认随机生成,建议手动设置)ICINGA2_IDO_MYSQL_SKIP_DB_CREATION:设为true跳过IDO数据库自动创建docker exec <容器> i2-port-mysqldb/var/lib/mysql 数据至新MySQL容器DEFAULT_MYSQL_HOST 指向新容器,添加 MYSQL_ROOT_PASSWORD| 环境变量 | 默认值 | 描述 |
|---|---|---|
ICINGA2_LOG_LEVEL | information | 日志级别:debug、notice、information(默认)、warning、critical |
ICINGA2_FEATURE_GRAPHITE | false | 设为true/1启用Graphite写入器 |
ICINGA2_FEATURE_GRAPHITE_HOST | graphite | Graphite/Carbon主机 |
ICINGA2_FEATURE_GRAPHITE_PORT | 2003 | Carbon端口 |
ICINGAWEB2_ADMIN_USER | icingaadmin | Icingaweb2管理员用户名 |
ICINGAWEB2_ADMIN_PASS | icinga | Icingaweb2管理员密码 |
MYSQL_ROOT_PASSWORD | 未设置 | MySQL root密码(用于外部数据库配置) |
TZ | UTC | 容器时区 |
| 卷路径 | 权限 | 描述 |
|---|---|---|
| /etc/apache2/ssl | ro | SSL证书文件 |
| /etc/icinga2 | rw | icinga2配置目录 |
| /etc/icingaweb2 | rw | icingaweb2配置目录 |
| /var/lib/mysql | rw | MySQL数据目录 |
| /var/lib/icinga2 | rw | icinga2数据目录 |
| /var/lib/php/sessions/ | rw | PHP会话文件目录 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务