
mendersoftware/mender-client-qemu本Docker镜像提供了一个在QEMU虚拟机环境中运行的Mender客户端,旨在为开发者和测试人员提供便捷的Mender OTA(空中下载)更新测试与开发环境。镜像集成了QEMU虚拟机和预配置的Mender客户端,可快速搭建用于验证Mender OTA更新流程的隔离环境。
通过以下命令启动Mender QEMU客户端容器:
bashdocker run -d \ --name mender-qemu-client \ --privileged \ # QEMU虚拟机运行需要特权模式 -e MENDER_SERVER_URL="[***]" \ # Mender服务器URL -e MENDER_TENANT_TOKEN="your-tenant-token" \ # Mender租户令牌 -e MENDER_DEVICE_ID="test-device-001" \ # 设备唯一标识(可选,自动生成默认值) mendersoftware/mender-qemu-client:latest
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
MENDER_SERVER_URL | Mender服务器URL(必填) | 无 |
MENDER_TENANT_TOKEN | Mender租户令牌(必填,Mender Hosted需提供) | 无 |
MENDER_DEVICE_ID | 设备唯一标识 | 随机生成的UUID |
MENDER_CLIENT_LOG_LEVEL | 客户端日志级别(debug/info/warn/error) | info |
QEMU_MEM_SIZE | QEMU虚拟机内存大小(如"512M") | "256M" |
QEMU_CPU_CORES | QEMU虚拟机CPU核心数 | 1 |
查看容器日志(包含QEMU启动及Mender客户端日志):
bashdocker logs -f mender-qemu-client
进入容器内QEMU虚拟机(如需直接操作虚拟机系统):
bashdocker exec -it mender-qemu-client /bin/bash # 进入容器后,通过以下命令连接QEMU虚拟机控制台 screen /var/run/qemu-console.sock
MENDER_DEVICE_ID对应的设备)test-device-001(或自定义的MENDER_DEVICE_ID)如需持久化虚拟机磁盘数据(如保留测试更新后的系统状态),可挂载QEMU磁盘文件:
bashdocker run -d \ --name mender-qemu-client \ --privileged \ -v $(pwd)/qemu-disks:/var/lib/qemu \ # 挂载本地目录存储虚拟机磁盘 -e MENDER_SERVER_URL="[***]" \ -e MENDER_TENANT_TOKEN="your-tenant-token" \ mendersoftware/mender-qemu-client:latest
--privileged模式为QEMU虚拟机运行必需,生产环境需谨慎使用docker exec进入容器测试网络连通性)debian:buster-slim


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