Wazuh 是一款免费、开源且企业级的安全监控解决方案,提供威胁检测、完整性监控、事件响应和合规性检查功能。docker-wazuh-agent 是封装了 Wazuh Agent 的 Docker 镜像,内置自动注册功能,可无缝集成 Wazuh 服务器。该镜像设计灵活,既支持作为独立 Docker 容器运行,也可部署为 Kubernetes DaemonSet,适用于各类环境的安全监控需求。
容器化部署
Wazuh Agent 被封装为 Docker 镜像,提升跨环境的可移植性和部署便捷性。
自动注册机制
支持与 Wazuh 服务器自动注册,简化部署流程,无需手动配置。
多环境兼容
| GitHub 分支/标签 | Wazuh Agent 版本 | Docker 镜像标签 |
|---|---|---|
| main | v4.3.10 | latest |
| v4.7.1-1 | v4.7.1-1 | 4.7.1 |
| v4.6.0-1 | v4.6.0-1 | 4.6.0 |
| v4.5.4-1 | v4.5.4-1 | 4.5.4 |
| v4.4.5-1 | v4.4.5-1 | 4.4.5 |
| 仓库名称 | 描述 | 拉取命令 |
|---|---|---|
| https://hub.docker.com/r/opennix/wazuh-agent | 基于 Minideb 的 Wazuh Agent | docker pull opennix/wazuh-agent |
| https://hub.docker.com/r/opennix/wazuh-agent-amazonlinux | 基于 Amazon Linux 2023.3.20231218.0 的 Wazuh Agent | docker pull opennix/wazuh-agent-amazonlinux |
| https://hub.docker.com/r/opennix/wazuh-agent-ubuntu | 基于 Ubuntu 24.04 的 Wazuh Agent | docker pull opennix/wazuh-agent-ubuntu |
| 名称 | 类型 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|---|
JOIN_MANAGER_PROTOCOL | string | Wazuh REST API 连接协议(http 或 https) | https | 是 |
JOIN_MANAGER_MASTER_HOST | string | Wazuh 主服务器 IP 或域名(用于 REST API 调用) | None | 是 |
JOIN_MANAGER_WORKER_HOST | string | Wazuh 工作节点 IP 或域名(用于 Agent 通信),单机部署时与 JOIN_MANAGER_MASTER_HOST 相同 | None | 是 |
JOIN_MANAGER_USER | string | Wazuh API 认证用户名 | None | 是 |
JOIN_MANAGER_PASSWORD | string | Wazuh API 认证密码 | None | 是 |
JOIN_MANAGER_API_PORT | string | Wazuh API 监听端口 | 55000 | 是 |
JOIN_MANAGER_PORT | string | Agent 与服务器通信端口 | 1514 | 是 |
NODE_NAME | string | 节点名称,未指定时使用系统环境变量 HOSTNAME | None | 否 |
VIRUS_TOTAL_KEY | string | VirusTotal 集成 API 密钥 | None | 否 |
WAZUH_GROUPS | string | Agent 自动加入的组(逗号分隔) | default | 否 |
WAZUH_WAIT_TIME | string | 启动前等待时间(秒) | 10 | 否 |
简单运行(需提前配置环境变量)
shelldocker run --rm opennix/wazuh-agent:latest
高级用法(指定环境变量和挂载卷)
bashdocker run -d --name wazuh-agent \ -v /:/rootfs:ro \ # 只读挂载主机根目录,用于完整性监控 --net host \ # 使用主机网络,确保 Agent 能与服务器通信 --hostname ${HOSTNAME} \ # 设置容器主机名 -e JOIN_MANAGER_MASTER_HOST=172.17.0.1 \ # Wazuh 主服务器 IP -e JOIN_MANAGER_WORKER_HOST=172.17.0.1 \ # Wazuh 工作节点 IP -e JOIN_MANAGER_USER=api-user \ # Wazuh API 用户名 -e JOIN_MANAGER_PASSWORD=api-pass \ # Wazuh API 密码 -v /etc/os-release:/etc/os-release \ # 挂载主机 OS 信息 -v /var/run/docker.sock:/var/run/docker.sock \ # 监控 Docker 容器 opennix/wazuh-agent:latest
生成证书(单节点环境)
shelldocker compose -f tests/single-node/generate-indexer-certs.yml run --rm generator
启动服务(包含 Wazuh 服务器和 3 个 Agent)
shelldocker compose up -d
Makefile 提供快捷命令,支持构建、运行、推送镜像等操作:
shellmake help # 查看命令帮助 make build-minideb # 构建基于 Minideb 的 Agent 镜像 make build-amazon-linux # 构建基于 Amazon Linux 的 Agent 镜像 make build-ubuntu # 构建基于 Ubuntu 的 Agent 镜像 make docker-run # 运行 Minideb 版本的 Agent 容器 make docker-push-minideb # 推送 Minideb 镜像到仓库 make docker-push-amazon-linux # 推送 Amazon Linux 镜像到仓库 make docker-push-ubuntu # 推送 Ubuntu 镜像到仓库 make run-local # 启动包含所有 Agent 类型的本地 Docker Compose 栈
配置环境变量
在 wazuh-daemon-sets.yaml 中设置环境变量,示例:
yamlenv: - name: JOIN_MANAGER_MASTER_HOST value: "wazuh.wazuh.svc.cluster.local" # Wazuh 服务器集群内域名 - name: JOIN_MANAGER_WORKER_HOST value: "wazuh-workers.wazuh.svc.cluster.local" # Wazuh 工作节点域名 - name: JOIN_MANAGER_PROTOCOL value: "https" - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName # 自动获取节点名称 - name: JOIN_MANAGER_USER valueFrom: secretKeyRef: name: wazuh-api-cred # 从 Secret 获取 API 用户名 key: username - name: JOIN_MANAGER_PASSWORD valueFrom: secretKeyRef: name: wazuh-api-cred # 从 Secret 获取 API 密码 key: password - name: JOIN_MANAGER_API_PORT value: "55000" - name: JOIN_MANAGER_PORT value: "1514"
应用 DaemonSet
shellkubectl apply -f wazuh-daemon-sets.yaml # 部署到 wazuh 命名空间
基于默认基础镜像(Minideb)
默认构建 Wazuh Agent v4.3.10-1:
bashdocker build . -t wazuh-agent:latest
基于其他基础镜像
bashdocker build -f images/Dockerfile.amazonlinux . -t wazuh-agent:amazonlinux
bashdocker build -f images/Dockerfile.ubuntu . -t wazuh-agent:ubuntu
自定义 Agent 版本
通过 --build-arg AGENT_VERSION 指定版本,例如构建 v4.4.5-1:
bashdocker build . -t wazuh-agent:4.4.5 --build-arg AGENT_VERSION=4.4.5-1
:ro),避免 Agent 对主机系统造成意外修改。本软件由版权持有人及贡献者按"原样"提供,不承担任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。在任何情况下,版权持有人或贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润损失;或业务中断)承担责任,无论其原因如何,也无论责任理论如何(合同、严格责任或侵权(包括疏忽或其他)),即使已被告知此类损害的可能性。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务