本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

tianon/qemu是一个基于QEMU的容器化镜像,旨在通过Docker环境快速部署和运行QEMU虚拟机。该镜像将QEMU虚拟化功能与Docker容器的便捷性结合,允许用户通过环境变量和命令行参数灵活配置虚拟机参数,无需在宿主机直接安装和配置QEMU。
主要用途:提供轻量级、可定制的虚拟机运行环境,适用于开发测试、系统模拟、操作系统安装调试等场景,尤其适合需要快速搭建隔离环境的用户。
源代码地址:[***]
--device /dev/kvm参数利用宿主机KVM设备,显著提升虚拟机运行性能(需宿主机支持KVM)。QEMU_HDA、QEMU_CPU)简化虚拟机核心参数配置,无需手动编写复杂QEMU命令。QEMU_PORTS自定义映射其他TCP端口。start-qemu <args>命令传递QEMU原生参数,满足高级配置需求(如图形界面、网络调试等)。ovmf包,可通过--bios参数启用UEFI启动模式,支持现代操作系统引导。创建磁盘镜像:在宿主机创建QEMU磁盘文件(qcow2格式),用于虚拟机存储:
$ touch /home/jsmith/hda.qcow2 # 或使用qemu-img创建指定大小:qemu-img create -f qcow2 /home/jsmith/hda.qcow2 100G
准备安装介质:下载操作系统ISO文件(如Debian、Ubuntu安装镜像),存放于宿主机路径(如/home/jsmith/downloads/debian.iso)。
通过以下命令启动QEMU虚拟机容器(以安装Debian为例):
$ docker run -it --rm \ --device /dev/kvm \ # 启用KVM加速(需宿主机支持KVM) --name qemu-container \ # 容器名称 -v /home/jsmith/hda.qcow2:/tmp/hda.qcow2 \ # 挂载宿主机磁盘镜像到容器内 -e QEMU_HDA=/tmp/hda.qcow2 \ # 指定虚拟机主磁盘路径(容器内路径) -e QEMU_HDA_SIZE=100G \ # 主磁盘大小(若磁盘文件未初始化,自动创建指定大小) -e QEMU_CPU=4 \ # 分配CPU核心数 -e QEMU_RAM=4096 \ # 分配内存大小(MB) -v /home/jsmith/downloads/debian.iso:/tmp/debian.iso:ro \ # 挂载ISO安装介质(只读) -e QEMU_CDROM=/tmp/debian.iso \ # 指定CDROM设备路径(容器内) -e QEMU_BOOT='order=d' \ # 启动顺序(d: CDROM优先,c: 硬盘优先) -e QEMU_PORTS='2375 2376' \ # 自定义映射端口(空格分隔) tianon/qemu
创建docker-compose.yml文件,实现容器化部署编排:
version: '3' services: qemu-vm: image: tianon/qemu container_name: qemu-container devices: - /dev/kvm # 启用KVM加速 volumes: - /home/jsmith/hda.qcow2:/tmp/hda.qcow2 # 虚拟机磁盘(宿主机路径:容器内路径) - /home/jsmith/downloads/debian.iso:/tmp/debian.iso:ro # 安装ISO(只读) environment: - QEMU_HDA=/tmp/hda.qcow2 - QEMU_HDA_SIZE=100G - QEMU_CPU=4 - QEMU_RAM=4096 - QEMU_CDROM=/tmp/debian.iso - QEMU_BOOT=order=d - QEMU_PORTS=2375 2376 stdin_open: true # 保持标准输入打开(交互模式) tty: true # 分配伪终端(支持终端交互) restart: unless-stopped # 可选:容器退出后自动重启(除非手动停止)
启动容器:
$ docker-compose up -d
| 环境变量 | 描述 | 示例值 |
|---|---|---|
QEMU_HDA | 虚拟机主磁盘路径(容器内路径,需通过-v挂载宿主机文件) | /tmp/hda.qcow2 |
QEMU_HDA_SIZE | 主磁盘大小(若磁盘文件未初始化,自动创建qcow2格式文件) | 100G(100GB)、20480M(20GB) |
QEMU_CPU | 分配给虚拟机的CPU核心数 | 4(4核) |
QEMU_RAM | 分配给虚拟机的内存大小(MB) | 4096(4GB) |
QEMU_CDROM | CDROM设备路径(容器内路径,需挂载ISO文件,建议设为只读ro) | /tmp/debian.iso |
QEMU_BOOT | 启动设备顺序(d=CDROM,c=硬盘,a=软盘) | order=d(优先从CDROM启动) |
QEMU_PORTS | 自定义映射的TCP端口(空格分隔,容器内端口映射到宿主机随机端口) | 2375 2376 |
默认端口:无论QEMU_PORTS是否配置,容器自动映射22端口(SSH)到宿主机随机端口,可通过docker port qemu-container查看映射结果:
$ docker port qemu-container 22/tcp -> 0.0.0.0:49153 # 示例:宿主机49153端口映射到容器22端口
自定义端口:QEMU_PORTS指定的端口将额外映射到宿主机随机端口,例如QEMU_PORTS=2375 2376会映射2375和2376端口。
如需使用QEMU原生参数(如字符界面、网络调试),可通过start-qemu <args>命令传递,例如启用字符界面(-curses):
$ docker run -it --rm \ --device /dev/kvm \ -v /home/jsmith/hda.qcow2:/tmp/hda.qcow2 \ -e QEMU_HDA=/tmp/hda.qcow2 \ tianon/qemu start-qemu -curses # 传递-curses参数启用字符界面
镜像集成ovmf包(UEFI固件),启用UEFI启动需通过--bios参数指定固件路径:
$ docker run -it --rm \ --device /dev/kvm \ -v /home/jsmith/hda.qcow2:/tmp/hda.qcow2 \ -e QEMU_HDA=/tmp/hda.qcow2 \ tianon/qemu start-qemu --bios /usr/share/ovmf/OVMF.fd # 使用UEFI固件
默认网络:镜像默认使用QEMU用户模式网络栈(SLIRP),支持虚拟机访问外部网络,但宿主机访问虚拟机需通过端口映射。
ICMP/Ping支持:用户模式网络默认禁用ICMP协议(ping命令),如需启用,需在容器启动时添加sysctl参数:
$ docker run -it --rm \ --device /dev/kvm \ --sysctl net.ipv4.ping_group_range='0 2147483647' \ # 允许ping操作 ... # 其他参数(如环境变量、挂载) tianon/qemu
KVM依赖:--device /dev/kvm需宿主机支持KVM(检查/dev/kvm是否存在),否则将回退到QEMU纯软件模拟,性能显著下降。
权限要求:容器需有权限访问/dev/kvm设备,建议将宿主机用户添加到kvm组(usermod -aG kvm $USER),避免使用--privileged。
磁盘性能:虚拟机磁盘文件(qcow2)的存储位置影响I/O性能,建议存放于SSD或高性能存储介质。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429