• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):面向嵌入式軟件開發(fā)人員的 Docker 簡介
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):面向嵌入式軟件開發(fā)人員的 Docker 簡介

嵌入式開發(fā):面向嵌入式軟件開發(fā)人員的 Docker 簡介

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:29℃        返回列表

  在過去的幾年里,Docker 席卷了軟件行業(yè)。Docker

為嵌入式開發(fā)人員提供了一個(gè)“用于開發(fā)、發(fā)布和運(yùn)行應(yīng)用程序的開放平臺”。docker提供的主要優(yōu)勢是,它可以通過在容器中構(gòu)建環(huán)境來將應(yīng)用程序與其運(yùn)行的基礎(chǔ)設(shè)施分開,然后可以在幾乎任何開發(fā)平臺上執(zhí)行容器,為開發(fā)人員提供相同的環(huán)境。


  在這篇文章中,我們將探討 Docker 以及嵌入式軟件開發(fā)人員如何使用它來改進(jìn)他們的開發(fā)環(huán)境。


  Docker 在嵌入式軟件開發(fā)中的使用


  開發(fā)人員可以將 Docker 用于多種用途,但嵌入式軟件開發(fā)人員最感興趣的有兩個(gè)。


  首先,開發(fā)人員可以使用他們的構(gòu)建環(huán)境構(gòu)建一個(gè)可移植的容器。這可確保每個(gè)開發(fā)人員都使用相同的工具和開發(fā)環(huán)境。新開發(fā)人員可以通過為他們提供對源代碼和用于構(gòu)建

Docker 映像的相關(guān) Docker

文件的訪問權(quán)限,幾乎立即啟動并運(yùn)行。這可以緩解所有關(guān)于軟件未構(gòu)建、擁有正確的庫、路徑等的問題和討論。


  其次,開發(fā)人員可以構(gòu)建一個(gè) DevOps 管道,利用他們的容器來自動化構(gòu)建、測試、分析和部署。自動化 DevOps

是一個(gè)非常強(qiáng)大的概念,對于成功使用它們的任何企業(yè)都非常有價(jià)值。大多數(shù)管道開發(fā)需要一些安裝了構(gòu)建和測試環(huán)境的虛擬機(jī)或容器。嵌入式開發(fā)人員可以利用 Docker

創(chuàng)建這個(gè)環(huán)境,并使用 Jenkins 和 Gitlab 等工具來構(gòu)建他們的 DevOps 系統(tǒng)。


  Dockerfile 基礎(chǔ)知識


  Docker 容器由 Docker 文件構(gòu)建,通常稱為 Dockerfile,它是一個(gè)文本文件,包含構(gòu)建 Docker

容器所需的所有命令。 例如,許多 Dockerfile 將以 FROM 命令開始,該命令指定構(gòu)建 Dockerfile 的現(xiàn)有 docker

映像。有不同的選項(xiàng),例如:


  它使用最新的 Ubuntu 映像作為基礎(chǔ),使用 gcc 的人可能會使用類似的東西:


  FROM gcc:11.2.0


  它使用特定版本的 gcc。(也可以使用 FROM gcc:latest)。


  另一個(gè)常用命令是 WORKDIR。 這指定了可能出現(xiàn)的任何命令(如

RUN、CMD、ADD、COPY、ENTRYPOINT)的工作目錄。


  一個(gè) Docker 文件將包含設(shè)置開發(fā)環(huán)境所需的盡可能多的命令。但是,文件本身并不是 Docker

容器。要使用容器,我們需要先構(gòu)建它。




  構(gòu)建 Docker 容器


  一旦 Docker 文件包含構(gòu)建映像所需的所有命令,就可以通過發(fā)出如下構(gòu)建命令來構(gòu)建映像:


  ## 構(gòu)建docker映像


  image:


  docker build -t beningo/gcc-arm .


  在上述命令中,調(diào)用 docker 來構(gòu)建當(dāng)前目錄中存在的 Dockerfile。 -t 是標(biāo)簽參數(shù)。

在這種情況下,我將新創(chuàng)建的圖像標(biāo)記為 beningo/gcc-arm。 例如,如果我運(yùn)行命令:


  docker images


  我應(yīng)該會收到我創(chuàng)建的所有 Docker 映像的列表:




  標(biāo)簽幫助我們識別映像。如您所見,我有一張我沒有標(biāo)記的映像。了解映像是什么很有幫助。由于映像很容易達(dá)到 2

GB,因此如果有人不小心,它們會很快占用大量硬盤空間!


  運(yùn)行 Docker 映像


  構(gòu)建 Docker 容器后,我們要運(yùn)行映像。 我們可以使用 docker run 命令在映像中運(yùn)行命令,也可以使用 -it

以交互方式與映像交互,這將允許我們通過終端界面訪問我們正在運(yùn)行的映像。運(yùn)行 docker 映像的常用命令如下所示:


  docker run –rm -it beningo/gcc-arm


  –rm 告訴 Docker

我們要在退出卷時(shí)刪除它。如果我想訪問本地目錄中的源代碼,我還可以使用如下命令:


  docker run –rm -it -v “$(PWD):/home/app”

beningo/gcc-arm


  如果我運(yùn)行此命令然后導(dǎo)航到 /home/app 文件夾,我們可以看到我可以訪問我的代碼存儲庫:




  然后我可以通過在終端中輸入 EXIT 來退出我的容器。

如果我不想退出,我可以繼續(xù)構(gòu)建我的源代碼或執(zhí)行我的容器可能具有的任何其他功能。


  結(jié)論


  對于希望簡化構(gòu)建環(huán)境和構(gòu)建 DevOps 流程的嵌入式團(tuán)隊(duì)來說,Docker 是一個(gè)有用的工具,Docker

在概念上很簡單,很容易上手。某些細(xì)節(jié)可能很棘手,但可以很容易地解決它們,從而為嵌入式開發(fā)人員提供更大的靈活性并幫助他們改進(jìn)流程。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部