Docker環(huán)境介紹
OpenHarmony為開發(fā)者提供了兩種Docker環(huán)境,以幫助開發(fā)者快速完成復雜的開發(fā)環(huán)境準備工作。兩種Docker環(huán)境及適用場景如下:
- 獨立Docker環(huán)境:適用于直接基于Ubuntu、Windows操作系統(tǒng)平臺進行版本編譯的場景。
- 基于HPM的Docker環(huán)境:適用于使用HPM工具進行發(fā)行版編譯的場景。
- 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]。
表1 Docker鏡像介紹
系統(tǒng)類型 | 運行平臺 | Docker鏡像倉庫 | 標簽 |
---|---|---|---|
標準系統(tǒng)(獨立Docker環(huán)境) | Ubuntu/Windows | swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard | 3.2 |
小型系統(tǒng)(獨立Docker環(huán)境) | Ubuntu/Windows | swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small | 3.2 |
輕量系統(tǒng)(獨立Docker環(huán)境) | Ubuntu/Windows | swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini | 3.2 |
輕量和小型系統(tǒng)(HPM Docker環(huán)境) | Ubuntu/Windows | swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker | 0.0.3 |
環(huán)境準備
在使用Docker環(huán)境前,需要準備源碼和一些基本工具,以Ubuntu為例,您需要執(zhí)行以下步驟:
- 安裝Docker
- 在Ubuntu中,可以使用下面的命令來安裝Docker:
sudo apt install docker.io
- 其他系統(tǒng)的Docker安裝請參考[Docker指導]。
- 在Ubuntu中,可以使用下面的命令來安裝Docker:
- 獲取OpenHarmony源碼
請參考[獲取源碼]。說明:
HPM Docker環(huán)境無需單獨獲取源碼。 - 獲取使用權限
為了能夠使用Docker,請使用具備root權限的用戶,或已被授予Docker使用權限的用戶進行后續(xù)操作。在Ubuntu系統(tǒng)中,通常可以通過在命令前加sudo來獲取root權限。在Windows系統(tǒng)中,您可能需要在管理員模式下運行cmd或PowerShell。
獨立Docker環(huán)境
Docker鏡像是包含了運行環(huán)境和應用程序的輕量級、可執(zhí)行的軟件包,OpenHarmony的Docker鏡像托管在HuaweiCloud SWR上。開發(fā)者可以通過該鏡像在很大程度上簡化編譯前的環(huán)境配置。這一部分將引導您如何在Docker環(huán)境中配置和使用OpenHarmony,下文將介紹具體使用步驟。
搭建Docker環(huán)境(輕量系統(tǒng)和小型系統(tǒng))
獲取Docker鏡像
獲取小型系統(tǒng)鏡像的命令為:docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2
獲取輕量系統(tǒng)鏡像的命令為:
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2
進入Docker構建環(huán)境
在獲取了鏡像之后,您需要創(chuàng)建一個新的Docker容器,并進入該容器中。進入OpenHarmony源碼根目錄執(zhí)行如下命令,從而進入Docker構建環(huán)境。- Ubuntu系統(tǒng)
# 進入小型系統(tǒng)Docker構建環(huán)境 docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2 # 進入輕量系統(tǒng)Docker構建環(huán)境 docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2
- Windows系統(tǒng)(假設源碼目錄為
D:OpenHarmony
):# 進入小型系統(tǒng)Docker構建環(huán)境 docker run -it -v D:OpenHarmony:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2 # 進入輕量系統(tǒng)Docker構建環(huán)境 docker run -it -v D:OpenHarmony:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2
說明:
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2
這個命令的含義是,創(chuàng)建并運行一個新的OpenHarmony的Docker容器,這個容器運行在交互模式下,并且將當前目錄映射到容器的/home/openharmony目錄。- Ubuntu系統(tǒng)
編譯源碼(輕量系統(tǒng)和小型系統(tǒng))
啟動編譯腳本
執(zhí)行docker run
命令進入Docker容器后(此時位于/home/openharmony
路徑下),您可以通過如下編譯腳本啟動輕量系統(tǒng)類設備(參考內(nèi)存≥128KiB)和小型系統(tǒng)類設備(參考內(nèi)存≥1MiB)的編譯。python3 build.py -p {product_name}@{company}
其中,
{product_name}
為當前版本支持的平臺,{company}
為{product_name}
對應的公司名。舉個例子,如果您要編譯的產(chǎn)品為
hisilicon
下的ipcamera_hispark_taurus
,您可以輸入以下命令來啟動編譯:python3 build.py -p ipcamera_hispark_taurus@hisilicon
同樣,如果您要編譯的產(chǎn)品是
ohemu
下的qemu_small_system_demo
,那么您可以輸入以下命令來啟動編譯:python3 build.py -p qemu_small_system_demo@ohemu
查看編譯結果
在編譯結束后,編譯所生成的文件都會被存放在out/{device_name}/
目錄下,結果鏡像輸出在out/{device_name}/packages/phone/images/
目錄下。
說明:
如需退出Docker,執(zhí)行exit
命令即可。這個命令會停止當前的Docker容器,并返回到您的操作系統(tǒng)。
搭建Docker環(huán)境(標準系統(tǒng))
- 獲取Docker鏡像
在搭建標準系統(tǒng)的Docker環(huán)境前,我們也需要先獲取對應的Docker鏡像。具體的命令如下:docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2
- 進入Docker構建環(huán)境
與之前的步驟相同,我們需要創(chuàng)建一個新的Docker容器,并進入該容器中。進入openharmony源碼根目錄執(zhí)行如下命令,從而進入Docker構建環(huán)境。- Ubuntu系統(tǒng)
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2
- Windows系統(tǒng)(假設源碼目錄為
D:OpenHarmony
)docker run -it -v D:OpenHarmony:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2
- Ubuntu系統(tǒng)
編譯源碼(標準系統(tǒng))
啟動編譯腳本
執(zhí)行docker run
命令進入Docker容器后(此時位于/home/openharmony
路徑下),您可以通過如下編譯腳本啟動標準系統(tǒng)類設備(參考內(nèi)存≥128MB)的編譯。./build.sh --product-name {product_name} --ccache
{product_name}
為當前版本支持的平臺。例如,您要編譯的產(chǎn)品是rk3568
,那么您可以輸入以下命令來啟動編譯:./build.sh --product-name rk3568 --ccache
查看編譯結果
編譯所生成的文件都歸檔在out/{device_name}/
目錄下,結果鏡像輸出在out/{device_name}/packages/phone/images/
目錄下。
說明:
如需退出Docker,執(zhí)行exit
命令即可。這個命令會停止當前的Docker容器,并返回到您的操作系統(tǒng)。
基于HPM的Docker環(huán)境
docker_dist是一個[HPM]系統(tǒng)中的模板組件,能夠幫助用戶快速初始化HPM工程,利用docker鏡像來快速編譯OpenHarmony發(fā)行版,在很大程度上簡化了編譯前的環(huán)境配置。開發(fā)者在配置好Ubuntu和[hpm-cli]開發(fā)環(huán)境后,可以通過以下步驟來使用我們提供的Docker環(huán)境。
搭建Docker環(huán)境
- 初始化安裝模板
在任意工作目錄中執(zhí)行以下命令hpm init -t @ohos/docker_dist
- 修改publishAs
因為獲取到的是模板類型的包,要把包的類型改為需要的類型。 在當前目錄下打開bundle.json文件,把"publishAs"字段的值由"template"改為"distribution"。
獲取及編譯源碼
執(zhí)行編譯。自動安裝docker只能在Ubuntu環(huán)境下執(zhí)行,如果其他環(huán)境,需要用戶自行安裝docker,然后拉取鏡像,執(zhí)行編譯。
自動安裝docker(Ubuntu環(huán)境)
以下命令可以幫助用戶自動安裝docker, 拉取鏡像,并且在容器中開始運行對應解決方案的拉取和編譯。
方式一:
命令后接參數(shù)指定解決方案,格式如下:hpm run docker solution={product}
{product}為需編譯的解決方案,如:@ohos/hispark_taurus、@ohos/hispark_aries、@ohos/hispark_pegasus。
方式二:
設置環(huán)境變量來選擇解決方案,再執(zhí)行編譯命令。
選擇解決方案。
export solution={product}
{product}為需編譯的解決方案,如:@ohos/hispark_taurus、@ohos/hispark_aries、@ohos/hispark_pegasus。
獲取源碼及執(zhí)行編譯。
hpm run docker
以上兩種方式以@ohos/hispark_taurus為例,執(zhí)行成功結果如下:
...... ohos ipcamera_hispark_taurus build success! @ohos/hispark_taurus: distribution building completed. `HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
自行安裝docker(非Ubuntu環(huán)境)
自行安裝docker相關操作如下:# 拉取鏡像 docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.3# linux環(huán)境下的編譯 hpm run distWithDocker solution={product} # windows下的編譯,需要配置gitbash hpm config set shellPath "gitbash路徑" hpm run distWithDocker solution={product}
審核編輯 黃宇
-
編譯
+關注
關注
0文章
661瀏覽量
33046 -
Docker
+關注
關注
0文章
492瀏覽量
11967 -
鴻蒙
+關注
關注
57文章
2392瀏覽量
43058 -
OpenHarmony
+關注
關注
25文章
3747瀏覽量
16589
發(fā)布評論請先 登錄
相關推薦
《鴻蒙設備學習菜鳥指南》之【六、搭建編譯環(huán)境】
如何在win10家庭版上用docker快速搭建鴻蒙開發(fā)環(huán)境
OpenHarmony2.0 編譯燒錄
OpenHarmony 3.1 Release docker編譯指南
【HarmonyOS HiSpark AI Camera試用連載 】之OpenHarmony 3.1編譯固件測試游記
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】+環(huán)境搭建2 docker環(huán)境搭建及編譯代碼
OpenHarmony開發(fā)——系統(tǒng)源碼編譯
OpenHarmony Docker移植實踐
Windows搭建OpenHarmony編譯環(huán)境
編譯openharmony環(huán)境
![<b class='flag-5'>編譯</b><b class='flag-5'>openharmony</b><b class='flag-5'>環(huán)境</b>](https://file.elecfans.com/web2/M00/02/C6/poYBAGDS4ruAC60kAAI6iCbAHn4433.png)
openharmony 2.0開機教程
使用docker完成編譯環(huán)境創(chuàng)建
OpenHarmony Docker移植實踐
![<b class='flag-5'>OpenHarmony</b> <b class='flag-5'>Docker</b>移植實踐](https://file1.elecfans.com/web2/M00/89/F0/wKgZomSNF_6AXR9qAABCu1fdDY8721.png)
【鴻蒙】OpenHarmony運行docker詳細步驟
![【<b class='flag-5'>鴻蒙</b>】<b class='flag-5'>OpenHarmony</b>運行<b class='flag-5'>docker</b>詳細步驟](https://file1.elecfans.com/web2/M00/C2/57/wKgZomXh0VCACWOzAAZrDdB3vEI484.png)
評論