
fauria/nodemcu是一个用于构建和自定义NodeMcu固件的Docker镜像。NodeMcu是基于ESP8266 WiFi芯片的Lua开源固件,该镜像提供了便捷的固件编译环境,支持默认配置和自定义模块选择,编译后的固件可直接刷写到ESP8266设备。
/firmware目录作为卷,方便持久化保存编译后的固件文件从Docker Hub拉取镜像:
bashdocker pull fauria/nodemcu
镜像暴露/firmware目录,用于存放编译后的固件文件。为保留固件文件,需将该目录挂载到主机卷,避免容器退出后文件丢失。
以下命令将使用默认设置编译固件,并将结果保存到当前目录的nodemcu-firmware文件夹:
bashdocker run --rm -v ${PWD}/nodemcu-firmware:/firmware fauria/nodemcu
编译完成后,nodemcu-firmware/nodemcu目录下将生成两个固件文件:0x00000.bin和0x10000.bin,可直接用于ESP8266设备刷写。
NodeMcu模块通过app/include/user_modules.h文件配置。默认情况下,镜像使用该文件的默认设置。若需自定义模块,可通过环境变量ENABLE_+模块名(如ENABLE_WIFI、ENABLE_MQTT)指定启用的模块。
注意:启用单个模块会禁用所有未显式启用的模块,需通过环境变量明确指定所有需要的模块。
支持的模块列表(2.1.0版本)
默认启用的模块(加粗):
自定义模块示例
以下命令启用默认模块(效果等同于默认编译):
bashdocker run --rm -v ${PWD}/nodemcu-firmware:/firmware \ -e ENABLE_ADC=1 -e ENABLE_BIT=1 -e ENABLE_DHT=1 -e ENABLE_FILE=1 \ -e ENABLE_GPIO=1 -e ENABLE_I2C=1 -e ENABLE_MQTT=1 -e ENABLE_NET=1 \ -e ENABLE_NODE=1 -e ENABLE_OW=1 -e ENABLE_SPI=1 -e ENABLE_TLS=1 \ -e ENABLE_TMR=1 -e ENABLE_UART=1 -e ENABLE_WIFI=1 \ fauria/nodemcu
可将环境变量保存到文件(如modules.env),通过--env-file参数加载:
bashdocker run --rm -v ${PWD}/nodemcu-firmware:/firmware --env-file modules.env fauria/nodemcu
编译完成后,使用https://github.com/espressif/esptool%E5%B7%A5%E5%85%B7%E5%B0%86%E5%9B%BA%E4%BB%B6%E5%88%B7%E5%86%99%E5%88%B0ESP8266%E8%AE%BE%E5%A4%87%E3%80%82%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4%E6%A0%BC%E5%BC%8F%EF%BC%9A
bashesptool.py --port /path/to/serial_port write_flash 0x00000 /host/volume/0x00000.bin 0x10000 /host/volume/0x10000.bin
macOS示例(端口可能因系统而异):
bashesptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x00000 nodemcu-firmware/0x00000.bin 0x10000 nodemcu-firmware/0x10000.bin
注意:端口路径需根据操作系统和实际连接的串口设备调整。






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