Docker中的多平臺是如何工作的在Docker中使用多平臺特性最簡單的方法是從命令行調用它通過docker buildx,我們可以利用新的測試版特性運行docker buildx build—platform Linux/arm/V7—t arm—build該命令使用ARMv7仿真來基于當前目錄中的Dockerfile構建docker映像在后臺,Docker在QEMU虛擬化環境中運行整個Docker構建過程通過這樣做,可以消除設置自定義虛擬機的復雜性一旦構建完成,我們甚至可以使用docker runARMv7模式自動啟動容器
多平臺,多階段和Qt雖然多平臺功能是一個很棒的獨立功能,但是結合多階段構建會變得更加強大在單個Dockerfile文件中,我們能夠混合和匹配平臺,并在步驟之間進行復制這個函數正是我們最終為OSE使用Qt構建過程所做的
第一階段:手臂
多虧了巴萊納的優秀人員,我們才能在第一階段使用Raspbian基礎圖像。我們可以使用以下方法調用此步驟:
from—platform = Linux/arm/V7 balena lib/rpi—raspbian:Buster as Builder經過以上步驟,我們可以照常使用Docker,執行各種運行命令,比如安裝包等注意,如果構建沒有在ARMv7硬件上運行,這個容器將使用QEMU模擬運行在我們的例子中,我們使用命令來安裝Qt構建依賴項上面的步驟也讓我們完全不需要從rsync物理Raspberry Pi的磁盤映像或文件中復制文件
第二階段:x86
一旦我們在ARM步驟中安裝了依賴項,我們就可以切換到構建器的本機x86體系結構,以避免使用以下代碼行進行模擬和交叉編譯:
現在,我們進入有趣的部分切換到x86之后,我們可以復制上一步中的文件我們這樣做是為了創建一個可以用于Qt的sysroot
運行mkdir—p/sysroot/usr/sysroot/opt/sysroot/lib
COPY—from = builder/lib//sysroot/lib/
COPY—from = builder/usr/include//sysroot/usr/include/
COPY—from = builder/usr/lib//sysroot/usr/lib/
copy—from = builder/opt/VC/sys root/opt/VC/我們現在擁有了兩個世界的精華通過多步驟和多平臺函數,我們生成了一個可以用來構建Qt的sysroot由于我們在上一步中使用了全功能的Raspbian映像,我們甚至可以讓Qt獲取所有現有的庫
/configure —sysroot /sysroot正如我們在簡介中提到的,編譯Qt遠非易事成功編譯它需要很多步驟
鄭重聲明:此文內容為本網站轉載企業宣傳資訊,目的在于傳播更多信息,與本站立場無關。僅供讀者參考,并請自行核實相關內容。
2023年2月15日,湯臣倍健與美團買藥在北京舉辦了2023
2021年收入增長目標應能確保實現,2022年收入增長預計將
具體來看,一是簡化業務流程和材料,便利北京冬奧會相關區域內境
炒股就看金麒麟分析師研報,權威,專業,及時,全面,助您挖掘潛
,據索尼官方消息,新星粉,銀河紫,星光藍,三款全新配色Dua
,新氧數據顏究院發布《2021醫美行業白皮書》,白皮書顯示,