
silentwind0/kvmdOne-KVM Docker 镜像是一个基于Docker容器化的远程KVM(键盘、视频、鼠标)控制解决方案,支持通过Web界面实现对目标设备的远程控制。该镜像适用于amd64、arm64、armv7架构的Linux系统,可通过OTG或CH9329芯片实现虚拟HID(人机接口设备)功能,满足远程运维、设备管理等场景需求。
更多详细内容可参考 One-KVM文档。
根据虚拟HID实现方式,选择以下任一部署命令:
模式1:OTG模式(虚拟HID)
bashsudo docker run --name kvmd -itd --privileged=true \ -v /lib/modules:/lib/modules:ro -v /dev:/dev \ -v /sys/kernel/config:/sys/kernel/config -e OTG=1 \ -p 8080:8080 -p 4430:4430 -p 5900:5900 -p 623:623 \ silentwind0/kvmd
模式2:CH9329模式(硬件HID)
bashsudo docker run --name kvmd -itd \ --device /dev/video0:/dev/video0 \ --device /dev/ttyUSB0:/dev/ttyUSB0 \ --device /dev/snd:/dev/snd \ -p 8080:8080 -p 4430:4430 -p 5900:5900 -p 623:623 \ silentwind0/kvmd
默认从Docker Hub拉取镜像(silentwind0/kvmd)。若网络访问受限,可替换为阿里云镜像源:
bash# 阿里云镜像源(杭州节点) xxx.xuanyuan.run/silentwind/kvmd
服务访问:部署完成后,通过浏览器访问 https://<主机IP>:4430。
admin/admin。功能验证:登录后即可通过Web界面控制目标设备,包括视频监控、键盘鼠标输入等功能。
为确保容器在主机重启后自动运行,需配置Docker服务与容器自启:
bash# 设置Docker服务开机自启 systemctl enable docker # 设置One-KVM容器自动重启 docker update --restart=always kvmd
停止并删除现有容器,拉取最新镜像后重新部署:
bash# 停止容器 docker stop kvmd # 删除容器 docker rm kvmd # 拉取最新镜像(使用对应镜像源) docker pull silentwind0/kvmd # 重新部署(使用原部署命令)
若服务无法访问或功能异常,可通过日志定位问题:
bash# 查看容器运行日志 sudo docker logs kvmd
问题未解决可提交Issue或加入官方QQ群寻求支持。
部署命令中通过--device或-v参数映射主机设备至容器,常见配置如下:
| 参数 | 说明 | 适用场景 |
|---|---|---|
--device /dev/video0:/dev/video0 | 映射视频采集设备(如摄像头、采集卡) | CH9329模式、OTG模式视频 |
--device /dev/ttyUSB0:/dev/ttyUSB0 | 映射USB转串口设备(如CH9329模块) | CH9329模式 |
--device /dev/snd:/dev/snd | 映射音频设备 | 需音频输入时 |
-v /lib/modules:/lib/modules:ro | 挂载内核模块目录(只读) | OTG模式 |
-v /dev:/dev | 映射所有设备(用于OTG模式自动识别) | OTG模式 |
-v /sys/kernel/config:/sys/kernel/config | 挂载内核配置目录 | OTG模式 |
-v ./kvmd_config:/etc/kvmd | 挂载配置文件目录(持久化配置) | 自定义配置文件时 |
容器默认暴露以下端口,需通过-p参数映射至主机:
| 端口 | 服务类型 | 说明 |
|---|---|---|
| 8080 | HTTP Web服务 | 禁用HTTPS时使用(需配合-e NOSSL=1) |
| 4430 | HTTPS Web服务 | 默认Web访问端口(SSL加密) |
| 5900 | VNC控制台 | 用于VNC客户端连接 |
| 623 | IPMI控制 | IPMI协议服务端口 |
通过-e参数可自定义容器功能,常用环境变量如下:
| 变量名 | 作用 | 默认值 |
|---|---|---|
USERNAME | 登录账号 | admin |
PASSWORD | 登录密码 | admin |
| 变量名 | 作用 | 默认值 | 示例 |
|---|---|---|---|
VIDEONUM | 视频设备编号,拼接为/dev/video<值>(如1对应/dev/video1) | 0 | -e VIDEONUM=1 |
AUDIONUM | 音频设备标识,支持编号(hw:0)、名称(hw:CARD=MS2109)或设备文件 | 0 | -e AUDIONUM=CARD=MS2109 |
ATX | 电源控制设备类型,如USB HID继电器 | - | -e ATX=USBRELAY_HID |
| 变量名 | 作用 | 默认值(状态) |
|---|---|---|
NOSSL | 禁用HTTPS,启用HTTP(8080端口) | 禁用(默认启用HTTPS) |
OTG | 启用OTG模式(虚拟HID) | 禁用 |
NOAUTH | 禁用身份认证(无需登录) | 禁用(默认启用认证) |
NOWEBTERMWRITE | 禁用Web终端输入(只读模式) | 禁用(默认可输入) |
NOWEBTERM | 禁用Web终端功能 | 禁用(默认启用) |
NOVNC | 禁用VNC服务 | 禁用(默认启用) |
NOIPMI | 禁用IPMI服务 | 禁用(默认启用) |
NOMSD | 禁用MSD(大容量存储设备)功能 | ARM架构默认启用 |
xxx.xuanyuan.run/silentwind/kvmd。/dev/ttyUSB0)有读写权限,可通过chmod调整或使用--privileged参数(谨慎使用)。arecord -L或arecord -l命令查看,用于配置AUDIONUM参数。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务