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

QEMU ARM64 Docker镜像是一个基于QEMU的容器化解决方案,用于在Docker环境中运行ARM架构的虚拟机。该镜像支持Raspberry Pi 5等多种ARM设备,可通过容器化方式快速部署和管理ARM虚拟机,简化ARM架构操作系统的运行与测试流程。
.iso、.img、.qcow2、.vhd、.vhdx、.vdi、.vmdk及.raw等主流磁盘格式services: qemu: container_name: qemu image: qemux/qemu-arm environment: BOOT: "ubuntu" # 指定预定义操作系统或镜像URL devices: - /dev/kvm # 启用KVM加速(需宿主机支持) - /dev/net/tun # 启用网络虚拟化 cap_add: - NET_ADMIN # 添加网络管理权限 ports: - 8006:8006 # Web控制台端口映射 volumes: - ./qemu:/storage # 存储虚拟机磁盘与配置 restart: always stop_grace_period: 2m # 优雅停止等待时间
docker run -it --rm \ --name qemu \ -e "BOOT=ubuntu" \ -p 8006:8006 \ --device=/dev/kvm \ --device=/dev/net/tun \ --cap-add NET_ADMIN \ -v "${PWD:-.}/qemu:/storage" \ --stop-timeout 120 \ # 对应stop_grace_period qemux/qemu-arm
Kubernetes:
kubectl apply -f [***]
GitHub Codespaces:
:
| 扩展名 | 格式类型 | 支持的压缩格式 |
|---|---|---|
.img/.raw | 原始磁盘 | .img.gz、.raw.xz等 |
.iso | 光盘镜像 | .iso.zip、.iso.bz2等 |
.qcow2 | QEMU专有格式 | .qcow2.xz、.qcow2.gz等 |
.vmdk | VMware格式 | - |
.vhd/.vhdx | Hyper-V格式 | - |
.vdi | VirtualBox格式 | - |
/dev/kvm设备直通,利用硬件虚拟化技术提升性能vhost-net加速,降低网络延迟| 变量名 | 用途描述 | 默认值 | 示例取值 |
|---|---|---|---|
BOOT | 指定启动源,可为预定义操作系统名称或镜像URL | - | ubuntu、[***] |
DISK_SIZE | 主磁盘大小 | 64G | 128G、50000M |
RAM_SIZE | 虚拟机内存大小 | 2G | 8G、4096M |
CPU_CORES | 虚拟机CPU核心数 | 2 | 4、8 |
VGA | 显示适配器类型,virtio-gpu支持高分辨率(需 guest 驱动支持) | 帧缓冲模式 | virtio-gpu |
DHCP | 是否启用虚拟机独立DHCP(需配合macvlan网络) | N | Y |
USER_PORTS | 用户模式网络下需暴露的端口(逗号分隔) | - | 22,80,443 |
ARGUMENTS | 传递给QEMU的额外命令行参数 | - | -device usb-tablet |
DEBUG | 是否启用调试模式(输出完整QEMU命令行参数) | - | Y |
BOOT变量取值)| 值 | 操作系统 | 大小 |
|---|---|---|
alma | Alma Linux | 1.7 GB |
alpine | Alpine Linux | 60 MB |
cachy | CachyOS | 2.6 GB |
centos | CentOS | 6.4 GB |
debian | Debian | 3.7 GB |
fedora | Fedora | 2.9 GB |
gentoo | Gentoo | 1.3 GB |
kali | Kali Linux | 3.4 GB |
nixos | NixOS | 2.4 GB |
suse | OpenSUSE | 1.0 GB |
rocky | Rocky Linux | 1.9 GB |
ubuntu | Ubuntu Desktop | 3.3 GB |
ubuntus | Ubuntu Server | 2.7 GB |
| 卷路径 | 用途描述 | 示例挂载方式 |
|---|---|---|
/storage | 虚拟机主磁盘存储目录(包含系统盘及配置文件) | -v ./qemu:/storage |
/shared | 与宿主机共享的9pfs文件系统(需 guest 执行mount -t 9p shared /mnt) | -v ./host_dir:/shared |
/storage2 | 第二块磁盘存储目录(需配合DISK2_SIZE) | -v ./disk2:/storage2 |
/boot.iso | 本地ISO镜像直通(优先级高于BOOT变量) | -v ./local.iso:/boot.iso |
| 配置项 | 用途描述 | 示例配置 |
|---|---|---|
--device=/dev/kvm | 启用KVM硬件加速(必需) | 包含在devices数组中 |
--device=/dev/net/tun | 启用TUN/TAP网络设备 | 包含在devices数组中 |
--device=/dev/vhost-net | 启用vhost-net网络加速(提升网络性能) | 包含在devices数组中 |
--cap-add=NET_ADMIN | 添加网络管理权限(创建虚拟网卡、配置IP等) | 包含在cap_add数组中 |
device_cgroup_rules | 设备访问控制规则(如允许访问所有USB设备) | ['c *:* rwm'] |
| 磁盘直通 | 将物理磁盘/分区直通给虚拟机(/disk1为主盘,/disk2为从盘) | --device=/dev/sdb:/disk1 |
| USB设备直通 | 通过厂商ID和产品ID直通USB设备(需配合/dev/bus/usb设备) | ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x5678" |
通过宿主机端口转发访问虚拟机服务,适用于简单场景:
ports: - 8006:8006 # Web控制台 - 2222:22 # SSH服务(guest 22端口映射到宿主机2222)
为虚拟机分配独立IP(与宿主机同网段),需先创建macvlan网络:
docker network create -d macvlan \ --subnet=192.168.0.0/24 \ # 替换为宿主机网段 --gateway=192.168.0.1 \ # 替换为网关IP --ip-range=192.168.0.100/28 \ # 虚拟机IP范围 -o parent=eth0 vlan # 替换为宿主机物理网卡
-compose配置:
networks: vlan: external: true services: qemu: networks: vlan: ipv4_address: 192.168.0.100 # 分配的静态IP
使虚拟机直接从路由器获取IP(需macvlan网络):
environment: DHCP: "Y" devices: - /dev/vhost-net device_cgroup_rules: - 'c *:* rwm'
通过环境变量定义从磁盘大小,并挂载对应存储卷:
environment: DISK2_SIZE: "32G" # 第二块磁盘大小 DISK3_SIZE: "64G" # 第三块磁盘大小 volumes: - ./disk2:/storage2 # 第二块磁盘存储目录 - ./disk3:/storage3 # 第三块磁盘存储目录
通过修改DISK_SIZE为更大值实现无损扩容(仅支持扩容,不支持缩容):
environment: DISK_SIZE: "128G" # 从64G扩容到128G
| 工具链 | Linux | Win11 | Win10 | macOS |
|---|---|---|---|---|
| Docker CLI | ✅ | ✅ | ❌ | ❌ |
| Docker Desktop | ❌ | ✅ | ❌ | ❌ |
| Podman CLI | ✅ | ✅ | ❌ | ❌ |
| Podman Desktop | ✅ | ✅ | ❌ | ❌ |
sudo apt install cpu-checker sudo kvm-ok # 输出 "KVM acceleration can be used" 表示支持
kvm-ok报错,需检查:
Windows ARM版需专用驱动支持,建议使用专用镜像:dockur/windows-arm
本镜像仅支持ARM架构,x86/x64镜像需使用x86版本QEMU镜像
VGA: "virtio-gpu",黑屏可能是因为guest未加载驱动,需等待系统启动完成VGA变量)可解决兼容性问题免费版仅支持 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