1. 程式人生 > 其它 >i.MX6ULL支援docker-V1.01

i.MX6ULL支援docker-V1.01

 

1.導讀:

聯網公司都不得不面對的問題,特別是各種版本的迭代之後,不同版本環境的相容,對運維人員都是考驗。Docker只所以發展如此迅速,也因其對這些情況給出了一個標準化的解決方案。本文將以我們武漢永珍奧科電子有限公司的i.MX6ULL評估套件作為平臺,搭建支援docker的嵌入式環境。

2.初始Docker

Docker是基於Go語言實現的開源容器專案,設想這麼一個情況,應用層、服務等操作需要在多種不同的嵌入式平臺搭建,每移植到一個平臺上時,需要為每個平臺搭建環境,例如安裝Apache、MySQL、PHP等環境,每次引入新平臺都是一輪耗時耗力的工程。

而Docker提供一種更為聰明便捷的方法,通過容器來打包應用、解耦應用和執行平臺。意味著匯入新平臺時,只需新平臺內執行docker容器,就可以快速完成部署。

本節簡單介紹一下Docker的三大核心概念,更詳細請根據網上資料專業學習Docker知識。

表1.1 Dokcer的三大核心概念

目前最大的公開倉庫是官方提供的Docker Hub,其中存放著數量龐大的映象供使用者下載。同時國內的企業也逐步構建起自己的業務映象,如華為雲的IoT邊緣 IoTEdge、阿里雲等服務,都逐漸去底層差異化。

當用戶搭建好自己的映象後,只需push命令上傳到指定的倉庫。在新的機器上,只需pull命令將映象從倉庫下載下來。

3.ARM硬體環境

本文件使用我司的HD-IMX6ULL-MB評估套件來實現docker環境,硬體產品如下所示。

硬體平臺環境條件如下所示。

表1.2 硬體平臺資源

4.燒錄韌體

使用我司特別提供的韌體(可快速安裝docker),快速部署驗證。韌體包為“mfgtools_imx6ull_emmc_ubuntu18.04_filesystem_全開源核心板.zip”,需要驗證的客戶可直接聯絡我司的銷售工程師獲取即可。內容如下所示。

燒錄步驟參考使用者手冊即可,這裡不再贅述。

5.Ubuntu搭建docker操作

上述韌體包內已經是Ubuntu系統映象,我們只需在此環境下直接使用命令安裝docker環境即可。系統安裝docker環境的操作步驟如下所示。

首先,燒錄後的第一次上電的板卡需要更新內部的軟體版本,命令如下所示。update更新失敗注意檢測網路狀態和date日期。部分軟體可能體積過大,需要耐心等待。

然後清除舊版本的docker軟體,再重新安裝docker.io。

啟動docker。

使能docker開機自啟動。

檢查docker執行狀態。

6.獲取映象

執行此命令可以從Docker Hub上下載現成映象。

檢視本地的映象檔案命令如下所示。

7.建立容器

如上文所說,映象可以看作一個只讀模板,而容器就是載入模板後執行的沙盒環境,具有執行時所需的可寫檔案層、應用程式也處於執行狀態。概念上可能會與PC端常用的虛擬機器混淆,虛擬機器是包括核心、應用執行環境和其他系統環境的,而Docker容器就是獨立執行的一個或一組應用以及他們必須的執行環境。

建立容器時,需要指定使用的映象檔案,這裡使用上面用pull指令下載下來的映象檔案,建立命令如下所示。

檢視容器狀態,命令如下所示,每個容器都有自己的CONTAINER_ID與NAMES,供後面的命令操作使用(可使用docker rename命令修改容器名,便於簡便使用)。

8.啟動容器

容器建立後,通過CONTAINER_ID與NAMES來操作容器,啟動命令如下所示。

使用NAMES來操作容器的命令如下所示。

上文所說,容器是執行一個或一組程序,docker ps命令裡的COMMAND即為容器執行的程序,當前顯示bash,即進入命令互動程序。通過以下命令進入容器內部。

進入後,可以操作容器內的命令,如下所示。

通過exit命令,可退出容器,退出後容器就處於停止狀態,如下所示。