
mc303/phpipam-agentphpIPAM是一个开源Web IP地址管理应用,旨在提供轻量且简单的IP地址管理解决方案。该项目由Miha Petkovsek开发维护,采用GPL v3许可协议,项目源码托管于此处,更多信息可访问phpIPAM官网。本容器可用作phpIPAM的发现扫描代理,执行网络主机发现与可用性检查。
适用于基于phpIPAM进行IP地址管理的网络环境,需对子网内主机进行自动发现、可用性监控及状态更新的场景,如企业内网IP管理、数据中心网络设备监控等。
已部署phpIPAM应用,并具备管理员权限配置扫描代理。
配置远程代理
登录phpIPAM后台,进入 管理 > 扫描代理,添加远程代理并获取密钥(用于容器认证)。
!config_agent
配置子网扫描
对需监控的子网,启用扫描功能并关联上述配置的远程代理(选择对应远程代理)。
!config_subnet
容器内置cron任务用于定期执行扫描,默认配置如下(可通过CRON_SCHEDULE自定义):
bash# 每15分钟执行主机状态更新和网络发现 1/15 * * * * /usr/local/bin/php /opt/phpipam-agent/index.php update 1/15 * * * * /usr/local/bin/php /opt/phpipam-agent/index.php discover
创建docker-compose.yml文件,配置如下:
yamlversion: '2' services: phpipam-agent: container_name: phpipam-agent restart: unless-stopped # 除非手动停止,否则自动重启 image: mc303/phpipam-agent:latest # 使用最新版镜像 environment: - MYSQL_ENV_MYSQL_HOST=198.51.100.1 # MySQL数据库主机地址(phpIPAM数据库) - MYSQL_ENV_MYSQL_DATABASE=phpipam # 数据库名称 - MYSQL_ENV_MYSQL_USER=phpipam_user # 数据库用户名 - MYSQL_ENV_MYSQL_PASSWORD=secure_password # 数据库密码 - MYSQL_ENV_MYSQL_PORT=3306 # MySQL端口(默认3306) - PHPIPAM_AGENT_KEY=your_agent_key_here # 从phpIPAM获取的远程代理密钥 - CRON_SCHEDULE=1/15 * * * * # 扫描频率(cron表达式,默认每15分钟) - TZ=Asia/Shanghai # 时区(如Asia/Shanghai) ports: - "3306:3306" # 端口映射(根据实际需求调整,如无需对外暴露可删除)
启动容器:
bashdocker-compose up -d
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| MYSQL_ENV_MYSQL_HOST | MySQL数据库主机地址 | 无(必填) |
| MYSQL_ENV_MYSQL_DATABASE | 数据库名称 | phpipam |
| MYSQL_ENV_MYSQL_USER | 数据库用户名 | 无(必填) |
| MYSQL_ENV_MYSQL_PASSWORD | 数据库密码 | 无(必填) |
| MYSQL_ENV_MYSQL_PORT | MySQL端口 | 3306 |
| PHPIPAM_AGENT_KEY | phpIPAM远程代理密钥(从管理界面获取) | 无(必填) |
| CRON_SCHEDULE | 扫描计划cron表达式 | 1/15 * * * * |
| TZ | 容器时区 | Europe/Amsterdam |
容器日志输出到stdout/stderr,可通过以下命令查看:
bashdocker logs phpipam-agent # 查看实时日志 docker logs -f phpipam-agent # 持续跟踪日志
本镜像基于pierrecdn/phpipam-agent开发,镜像发布于Docker Hub。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务