
poulti/esphome-avahi本镜像是基于 ESPHome 最新官方镜像构建的自定义 Docker 镜像,通过集成 avahi-utils 工具集,增强了 ESPHome 仪表板的 mDNS(多播 DNS)服务发现能力。主要用途是解决本地网络中 ESP 设备(如 ESP8266/ESP32)通过 .local 域名(如 espdevice.local)访问的问题,实现 ESPHome 仪表板对 ESP 设备的自动发现与域名解析。
avahi-utils 工具集(包含 avahi-resolve, avahi-browse 等),支持解析本地网络中 ESP 设备的 .local 域名。.local 域名访问 ESP 设备的场景(避免手动配置 IP 地址)。avahi-browse)手动排查 ESP 设备网络状态的场景。avahi-daemon 服务(负责本地 mDNS 解析)和 dbus 服务(Avahi 依赖的消息总线)。/var/run/dbus 和 /var/run/avahi-daemon/socket 存在且可访问(通常由 avahi-daemon 和 dbus 自动创建)。通过以下命令启动容器,需显式挂载主机的 dbus 和 avahi-daemon 套接字:
bashdocker run -d \ --name esphome-avahi \ -p 6052:6052 \ # ESPHome 仪表板默认端口 -v /path/to/your/esphome/config:/config \ # 挂载 ESPHome 配置目录(必填) -v /var/run/dbus:/var/run/dbus \ # 挂载 dbus 套接字(mDNS 依赖) -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket \ # 挂载 avahi 套接字(mDNS 依赖) --restart unless-stopped \ [镜像名称] # 替换为实际镜像名称(如自定义构建的镜像标签)
创建 docker-compose.yml 文件,配置如下:
yamlversion: '3' services: esphome: image: [镜像名称] # 替换为实际镜像名称 container_name: esphome-avahi restart: unless-stopped ports: - "6052:6052" # ESPHome 仪表板端口 volumes: - /path/to/your/esphome/config:/config # 本地 ESPHome 配置目录(需替换为实际路径) - /var/run/dbus:/var/run/dbus # 共享主机 dbus 套接字 - /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket # 共享主机 avahi 套接字 environment: - TZ=Asia/Shanghai # 可选:设置时区(继承自 ESPHome 镜像,支持所有 ESPHome 环境变量)
| 主机路径 | 容器路径 | 用途 | 必要性 |
|---|---|---|---|
/var/run/dbus | /var/run/dbus | 提供 Avahi 与主机 dbus 服务的通信通道 | 必需 |
/var/run/avahi-daemon/socket | /var/run/avahi-daemon/socket | 提供 Avahi 服务的本地套接字连接 | 必需 |
/path/to/your/esphome/config | /config | 存储 ESPHome 设备配置文件 | 必需(同 ESPHome 原生配置) |
avahi-daemon 和 dbus 并正常运行(可通过 systemctl status avahi-daemon 和 systemctl status dbus 检查)。/var/run/dbus 和 /var/run/avahi-daemon/socket 有读权限。


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