前言:
在瑞芯微RK3588高性能AIoT平臺上運行Ubuntu系統(tǒng)時,Docker容器技術(shù)能極大提升開發(fā)部署效率。通過輕量級虛擬化實現(xiàn)環(huán)境隔離與快速遷移,本文將從零開始詳解RK3588平臺的Docker實戰(zhàn)流程。
1.Docker簡介
Docker本質(zhì)是輕量級虛擬化技術(shù),通過容器化機制打包應(yīng)用及其依賴環(huán)境。與傳統(tǒng)虛擬機不同,Docker容器直接共享主機內(nèi)核,啟動秒級完成且資源損耗極低。容器鏡像提供標(biāo)準(zhǔn)化的交付單元,配合鏡像倉庫可實現(xiàn)開發(fā)、測試、生產(chǎn)環(huán)境的無縫流轉(zhuǎn),徹底解決“在我機器上能跑”的環(huán)境依賴難題。
2.配置內(nèi)核
使用Docker等容器需要Kernel中打開相關(guān)配置,否則安裝或運行Docker會出現(xiàn)各種錯誤。Docker開源團隊提供了一個腳本,可以檢測Kernel配置是否符合Docker的運行要求。
源地址:
https://github.com/moby/moby/blob/master/contrib/check-config.sh
腳本可聯(lián)系我司獲取。
拷貝到板上直接運行腳本:
chmod+x check-config.sh./check-config.sh#可以直接指定文件./check-config.sh /proc/config.gz
也可以將腳本拷貝到SDK的kernel目錄下,指定config文件:
chmod+x check-config.shmake ARCH=arm64 rockchip_linux_defconfig./check-config.sh .config
結(jié)果主要是兩部分,Generally Necessary: 表示必要的配置,如果有顯示missing的地方,需要在內(nèi)核配置中打開,重新編譯燒錄內(nèi)核以支持Docker。Optional Features: 是可選配置,根據(jù)需要打開。


從上面的檢測結(jié)果中得知需要打開哪些配置后,在SDK的kerne目錄下進入菜單,搜索對應(yīng)項目將其打開。
make ARCH=arm64 menuconfigmake ARCH=arm64 savedefconfigcpdefconfigarch/arm64/configs/rockchip_linux_defconfig
參考上述腳本指定文件進行檢查是否開啟所有必要配置。
之后回SDK根目錄進行編譯內(nèi)核:
./build.sh kernel
3.Docker部署
燒錄完新內(nèi)核之后,可以開始在設(shè)備上安裝 Docker
3.1安裝Docker依賴
Docker在Ubuntu上依賴一些軟件包。執(zhí)行以下命令來安裝這些依賴:
aptinstall apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
3.2添加 Docker 官方 GPG key
執(zhí)行以下命令來添加Docker官方的GPG密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3.3添加 Docker 軟件源
執(zhí)行以下命令來添加Docker的軟件源:
echo"deb [arch=$(dpkg --print-architecture)signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu$(lsb_release -cs)stable"| sudotee/etc/apt/sources.list.d/docker.list > /dev/null
3.4安裝Docker
執(zhí)行以下命令來安裝Docker:
aptupdateapt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.功能驗證
4.1配置國內(nèi)加速鏡像源
添加配置/etc/docker/daemon.json文件:
{"registry-mirrors":["https://jkfdsf2u.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"
],"insecure-registries":["docker-registry.zjq.com"],"log-driver":"json-file","log-opts":{"max-size":"10m","max-file":"10"},"data-root":"/data/docker"}
4.2顯示 Docker 系統(tǒng)的詳細信息
dockerinfo
4.3檢查 Docker 服務(wù)的狀態(tài)并重啟
systemctlstatus dockersystemctl restart dockervv

4.4創(chuàng)建Docker用戶組并添加當(dāng)前用戶加入
默認情況下,只有root用戶和docker組的用戶才能運行Docker命令。我們可以將當(dāng)前用戶添加到docker組,避免每次使用Docker時都需要使用sudo。
sudousermod -aG docker$USERgroupadd dockergpasswd -a${USER}docker
4.5Docker驗證
//從docker 中拉下一個倉庫docker pull hello-world//運行一個例程docker run hello-world
4.總結(jié)
在RK3588 Ubuntu系統(tǒng)中集成Docker容器技術(shù),顯著簡化了復(fù)雜應(yīng)用的部署與管理流程。通過標(biāo)準(zhǔn)化鏡像構(gòu)建、資源隔離控制和靈活的生命周期管理,開發(fā)者可高效利用RK3588的AI算力與多任務(wù)處理能力。掌握鏡像架構(gòu)適配、資源限制及存儲持久化等關(guān)鍵技巧,將使容器化方案成為RK3588邊緣計算及嵌入式開發(fā)的強力支撐,加速產(chǎn)品迭代周期。
-
容器
+關(guān)注
關(guān)注
0文章
511瀏覽量
22452 -
Ubuntu
+關(guān)注
關(guān)注
5文章
592瀏覽量
31225 -
Docker
+關(guān)注
關(guān)注
0文章
515瀏覽量
12962 -
RK3588
+關(guān)注
關(guān)注
7文章
421瀏覽量
5909
發(fā)布評論請先 登錄
瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

探索巔峰性能 |迅為 RK3588開發(fā)板深度剖析
迅為RK3588開發(fā)板深度剖析丨首選的性能
探索巔峰性能 |迅為瑞芯微RK3588開發(fā)板/核心板深度剖析
迅為瑞芯微RK3588開發(fā)板深度剖析丨首選的性能
RK3588 EVB 用戶使用指南
RK3588X預(yù)置debian11固件支持Docker功能
rk3588和rk3588s的區(qū)別
RK3588與3588s的區(qū)別
RK3588系列有多少型號?
技術(shù)分享|iTOP-RK3588開發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案

評論