> 文档中心 > 【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境

【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境


如何在win10家庭版上用docker快速搭建鸿蒙开发环境 (Building the Development Environment for HarmonyOS by Docker under the Win10 Home Editon )

特别鸣谢:感谢李隆、王华侨等大佬提供的镜像和电子发烧友社区的硬件支持

docker下载(Download the Docker)

从docker官网 获取docker 安装包(win10社区版2.5和3.1都测试成功)。感觉内网速度就可以,开了IDM基本跑满带宽。

【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境

按照界面提示一路默认安装完成
但是此时系统提示虚拟化未开启

开启hyper-v(Enable hyper-v)

对,你没看错,win10家庭和学生版也能开启hyper-v,只不过系统配置,要有点小改动。

笔者的电脑系统
【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境

在win10系统任意位置(在d盘试过了)创建一个cmd文件Hyper-V.cmd,用记事本(或其他编辑器)打开,输入以下内容

pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

运行完一遍就可以Crtl+C退出了,文件目录下生成了hper-v.txt文件。
【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境
控制面板-程序-启用或关闭Windows功能 此时发现Windows功能选项中出现Hyper-V选项,勾选,按照系统要求重启
【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境

在任务管理器-性能中观察到虚拟化已开启

【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境

若docker仍然不能正常启动。

以管理员身份打开Powershell(或cmd)执行以下命令

REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F

重启,基本就没问题了

此时在点击桌面上的鲸鱼图标

初次成功打开docker后是一段入门教程,新手可按照提示体验docker用法

之后可以在任务栏找到灰色鲸鱼图标

镜像使用(the Usage Of Mirrors)

推荐镜像:华为官方的独立版,社区大佬们提供的版本(以下简称官方版、社区版)

官方版(Official Editon)

特点:包含一套独立的ubuntu环境+编译工具(已含hpm),免受其他容器干扰但是占内存

拉取镜像

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2

笔者测试时速度还可观,直接内网下也是基本满速,100M带宽下等待约3分钟即可

运行容器

docker run -it --name xxx -v "D:/code:/home/openharmony" swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2

注:
1、xxx是容器运行起来后的标记名,由用户自定义,区别相同镜像的不同容器,可以在Container/App中查看
2、“D:/OHOS/code:/home/openharmony” 其中D:/OHOS/code为代码在win10系统中的位置(根据你的情况修改),/home/openharmony则是在ubuntu镜像中的位置(由镜像决定)
3、swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2 是镜像仓库地址

让我们编译一下

python build.py wifiiot

【环境搭建】如何在win10家庭版上用docker快速搭建鸿蒙开发环境

成功!

社区版(Community Edition)

特点:和本地安装的其他镜像共用大部分编译环境(不含hpm),文件轻巧,镜像文件仅200M多一些,经过社区大佬的维护改进有很多便捷操作,个人体验甚至优于官方版
拉取镜像+运行容器

docker run -it --name hm_build -v "D:/OHOS/code:/mnt" walker2048/hm_build:slim_iot
docker run -it --name hm_build -v "D:/OHOS/code:/mnt  " walker2048/hm_build:slim_iot

注:实际上,运行时系统会自动拉取缺失的镜像,所以上面的例子直接docker run 也是可以的

配置环境
第一次使用时系统中往往缺少相应编译环境,有提示需要进行配置

setupEnv

提示按照开发板类型配置,以WiFiIoT为例

按照提示,输入对应命令,自动下载缺失的编译工具

setupEnv wifiiot

以后运行其他镜像,还可以共用这些工具

编译
我们来执行一下编译命令

python build.py wifiiot

观察到BUILD SUCCESS,编译成功

在此容器中你也可以选择
运行 export BOARD=wifiiot 或 ipcamera_hi3516dv300 | ipcamera_hi3518ev300
后执行 hmBuildStart
应该是可以将编译命令简化成你喜欢的其他名称(吐槽一下,当前官方初始的编译命令确实够长的)

补充(Addition)

  • docker文件直接挂载在win10下运行资源占用高于wsl,如需提高运行效率:可参照docker官方文档 配合wsl2后端使用
  • 如果代码是用hpm获取的即使已经在wsl中生成过build.py 文件 第一次用docker打开文件名仍是红色的无法使用python build.py wifiiot指令编译,需要再次hpm dist生成中间文件才能正常编译

三国人物百科