低成本搭建鸿蒙PC运行环境:基于 Docker 的 x86_64 服务器
2026/6/3 2:41:23 网站建设 项目流程

对于希望体验或开发 OpenHarmony(鸿蒙)PC命令行应用的开发者而言,通常需要真机或者 ARM64 架构的硬件环境。购置专用设备成本较高,且不便于快速搭建。本文介绍一种极低成本、最小可用的“丐版”方案:利用 Docker 和 QEMU 仿真技术,在您已有的x86_64 服务器(包括 WSL)上快速构建并运行一个轻量级的鸿蒙PC容器环境。

更多交流学习,欢迎加入开源鸿蒙PC社区:https://harmonypc.csdn.net/

本文给大家介绍一种低成本在x86_64架构上运行OpenHarmony PC命令行应用环境的方案。通过Docker和QEMU仿真技术,无需ARM64硬件即可构建轻量级鸿蒙容器环境,简化部署和使用流程。

在Docker环境就绪的前提下:只需拉取镜像,一分钟即刻拥有一个轻量级的鸿蒙PC运行环境。除了用来测试和跑命令行应用,还可以做为鸿蒙PC的本地命令行和三方库移植开发测试的一体环境。

:想跑harmonyos移动端App的请跳过,该轻量级容器仅方便鸿蒙PC命令行和三方库的开发、编译和调试用。

环境准备: x86_64 电脑或服务器(其他的linux服务器也可以)

本文演示环境选用 Ubuntu 24.04 x86_64 服务器。如果你是win10系统,可以使用WSL(直接在 Windows 上运行的 Linux 环境)。

win10系统上的WSL介绍及安装,参见博客:《Windows10下使用WSL安装 Docker》

方式一、Windows下的Docker Desktop环境下

如果你在 windows上用的是 Docker Desktop,操作流程还可以进一步简化,操作更简单了。因为 Docker Desktop 自带了一套虚拟化机制,不需要自己再挂上一个 QEMU 了。首先配一个国内的 Docker Registry 源:
配置方式是进入 Settings > Docker Engine 菜单,修改里面的配置文件,往里面加一个字段:

"registry-mirrors":["https://docker.1ms.run"]

剩下只需下面一步操作即可下载并运行起来容器:

#拉取镜像并启动容器dockerrun--name=ohos-itd--platformlinux/arm64 hqzing/docker-mini-openharmony:latest#进入容器dockerexec-itohossh

Docker Desktop上操作完成。

注:在正常情况下,最新版本的 Docker Desktop 默认就支持运行不同架构的镜像,按上面操作正常没问题。它的 官方文档 是这么说的:

Docker Desktop supports running and building multi-platform images
under emulation by default.

所以你可以尝试直接执行 :

#在docker desktop中,使用以下命令拉起容器并运行dockerrun--name=ohos-itd--platformlinux/arm64 hqzing/docker-mini-openharmony:latest

在我自己的电脑上试了不行,(可能跟具体的环境或配置有关)。如果你发现它在你的电脑上不支持运行 arm64 容器,则需先执行一遍 以下命令进行 QEMU 的注册。

dockerrun--rm--privilegedtonistiigi/binfmt--installarm64

注:最新容器地址,作者更换了。新项目的地址:https://github.com/hqzing/dockerharmony

新的镜像标签是这个:

hqzing/dockerharmony:latest

方式二 虚拟机或者 x86_64的linux环境下

但如果是其它x86_64的linux服务器,继续参考以下步骤:

步骤 1:安装 Docker CE

由于是全新服务器,首先安装 Docker。为加速安装并确保网络稳定性,推荐使用国内镜像源脚本:

# 使用国内镜像源脚本安装 Docker CEbash<(curl-sSLhttps://linuxmirrors.cn/docker.sh)

安装过程中,关键配置选择如下(确保国内访问速度):

  • Docker CE 源:华为云
  • Docker CE 源网络地址:公网
  • Docker Registry 源:毫秒镜像(推荐,国内加速)
  • Docker CE 软件源网络协议:HTTP
  • Docker Engine 版本:安装最新版本

步骤 2:注册 QEMU 解释器 (ARM64 支持)

核心步骤:让 x86_64 宿主机内核具备运行 ARM64 架构程序的能力。这通过 Linux 内核的binfmt_misc机制和 QEMU 用户态仿真器实现。

# 注册 ARM64 解释器 (使用国内镜像源加速拉取)dockerrun--rm--privilegeddocker.1ms.run/tonistiigi/binfmt--installarm64

命令详解与注意事项:

  • --rm: 容器退出后自动删除。
  • --privileged: 授予容器修改宿主机内核设置 (binfmt_misc) 的必要权限。
  • docker.1ms.run/tonistiigi/binfmt: 使用国内镜像源加速拉取tonistiigi/binfmt工具镜像。
  • --install arm64: 向内核注册 ARM64 架构的仿真支持。
  • 重要提示:
    1. 重启需重注册:服务器重启后,需要重新执行此命令。
    2. 全局生效:注册成功后,宿主机和 Docker 均可直接运行 ARM64 二进制程序。
    3. 网络优化:使用docker.1ms.run/前缀或配置国内 Docker Registry 源(如步骤 1 中选择的毫秒镜像)是确保此命令在中国大陆顺利执行的关键。

原理简述:

此命令利用binfmt_misc内核模块,将 QEMU 用户态仿真器注册为 ARM64 程序的处理程序。当系统尝试执行一个 ARM64 格式的程序时,内核会自动调用 QEMU 来“翻译”并执行 ARM64 指令,实现在 x86_64 CPU 上运行 ARM64 程序或容器。

验证注册成功:

# 检查 ARM64 处理程序是否启用ls/proc/sys/fs/binfmt_misc/qemu-aarch64# 输出应包含 'enabled' 状态

步骤 3:拉取并运行鸿蒙容器

现在可以拉取专为体验和轻量开发准备的鸿蒙容器镜像并运行:

# 拉取并运行鸿蒙容器 (使用国内镜像源加速)dockerrun--name=ohos-itd--platformlinux/arm64 docker.1ms.run/hqzing/docker-mini-openharmony:latest

镜像源说明:

  • 原始镜像托管于 GitHub Container Registry (ghcr.io/hqzing/docker-mini-openharmony:latest)。
  • 为优化国内体验,镜像已同步至 Docker Hub (hqzing/docker-mini-openharmony:latest)
  • 命令中使用docker.1ms.run/前缀,通过国内镜像源(毫秒镜像)加速拉取 Docker Hub 上的镜像,显著提升下载速度。
  • 感谢hqzing大佬提供的容器环境,他的博客:https://blog.csdn.net/hqzing

步骤 4:体验鸿蒙环境

容器运行后,即可进入其中体验鸿蒙环境并安装PC二进制软件。

  1. 进入容器:

    dockerexec-itohossh
  2. 下载并安装移植好的二进制软件 (示例:Neovim):

    cd/root# 使用国内加速源下载 Neovim (ARM64 for OpenHarmony)curl-L-Ohttps://ghfast.top/https://github.com/Harmonybrew/ohos-neovim/releases/download/0.11.4/neovim-0.11.4-ohos-arm64.tar.gz# 解压到 /opt 目录tar-zxfneovim-0.11.4-ohos-arm64.tar.gz-C/opt# 将 Neovim 加入 PATHexportPATH=$PATH:/opt/neovim-0.11.4-ohos-arm64/bin# 验证安装nvim--version

实用技巧:宿主机与容器文件交互

开发过程中常需在宿主机和容器间传递文件:

  • 从宿主机拷贝文件到容器:

    dockercp/宿主机/文件路径 ohos:/容器内/目标路径# 示例:拷贝 test.c 到容器的 /root/build/ 目录dockercp./test.c ohos:/root/build/
  • 从容器拷贝文件到宿主机:

    dockercpohos:/容器内/文件路径 /宿主机/目标路径

容器的使用及验证demo

参见博文:[鸿蒙PC命令行程序移植]:移植axel多线程高速下载工具踩坑记。

在该文中,以移植axel多线程高速下载工具为例,不但详细介绍了axel下载工具的移植过程,而且还详细介绍了如何使用鸿蒙PC容器对工具进行一个全面的验证。

移植成功的axel仓库地址:https://gitcode.com/qq8864/axel

总结

没鸿蒙PC真机的小伙伴们也有福音啦。感谢hqzing大佬的鸿蒙容器,介绍地址:《低成本玩转鸿蒙容器的丐版方案》

总结下鸿蒙PC容器使用

无论你是什么样的电脑系统,在docker 环境就绪的前提下,就这些步骤了。

以准备环境和测试axel命令行应用为例:

#1.带镜像加速前缀docker.1ms.run/(镜像加速用),让服务器支持arm64指令(只需首次执行)dockerrun--rm--privilegeddocker.1ms.run/tonistiigi/binfmt--installarm64#2.拉取鸿蒙容器镜像(只需首次执行)dockerrun--name=ohos-itd--platformlinux/arm64 docker.1ms.run/hqzing/docker-mini-openharmony:latest#3.测试axel命令,拷贝宿主机中生成的axel可执行程序到容器中dockercp./axel ohos:/root/#4.进入ohos pc容器dockerexec-itohossh#5.验证测试命令行应用cd/root#curl 下载方式curl-L-Ohttps://github.com/Harmonybrew/ohos-neovim/releases/download/0.11.4/neovim-0.11.4-ohos-arm64.tar.gz#axel下载方式./axel-k-n50https://github.com/Harmonybrew/ohos-neovim/releases/download/0.11.4/neovim-0.11.4-ohos-arm64.tar.gz

axel多线程下载工具的获取,参见博文:[鸿蒙PC命令行程序移植]:移植axel多线程高速下载工具踩坑记

移植成功的axel仓库地址:https://gitcode.com/qq8864/axel

axel多线程下载工具和curl命令行的下载速度大比拼截图:

本方案充分利用 Docker 的跨平台能力和 QEMU 的用户态仿真,成功在x86_64 架构的服务器上构建了可用的ARM64 鸿蒙容器环境

方案的核心优势在于:

  1. 极低成本:复用现有 x86_64 服务器或 WSL,无需购置 ARM64 硬件。
  2. 最小可用:提供基础的鸿蒙运行环境,满足体验和轻量开发需求。
  3. 国内网络优化:从 Docker 安装、镜像拉取 (docker.1ms.run)、到软件下载 (ghfast.top),全程采用国内镜像源加速,有效解决了中国大陆开发者的网络瓶颈。
  4. 灵活便捷:Docker 容器易于创建、销毁和复用,文件交互简单。

此“丐版”方案为开发者快速上手鸿蒙开发、进行应用移植或环境验证提供了一条高效、经济的路径。后续可根据实际需求,在容器内进一步安装 SDK、构建工具或进行Native应用开发部署。

参考链接

蓝香蕉代码 |【鸿蒙电脑开发命令行-签名篇与本机hdc shell】

低成本玩转鸿蒙容器的丐版方案

鸿蒙PC命令行适配 Ubuntu22.04 lycium_plusplus环境搭建SOP流程

最后,欢迎加入开源鸿蒙PC社区:https://harmonypc.csdn.net/,共同交流进步!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询