面向嵌入式软件开发人员的 Docker 简介

你的位置:【开元棋盘1383官方网站】 > 共益动态 > 面向嵌入式软件开发人员的 Docker 简介
面向嵌入式软件开发人员的 Docker 简介
发布日期:2022-08-07 06:56    点击次数:147

 在这篇文章中,我们将筹商 Docker 以及嵌入式软件开发人员怎么样运用它来改进他们的开发情形。

Docker 在嵌入式软件开发中的运用

开发人员可以或许将 Docker 用于多种用途,但嵌入式软件开发人员最感兴致的有两个。

首先,开发人员可运用他们的构建情形构建一个可移植的容器。这可确保每个开发人员都运用沟通的器材和开发情形。新开发人员可以或许经由过程为他们供应答源代码和用于构建 Docker 映像的相干 Docker 文件的拜访权限,简竖登时启动并运行。这可以或许减缓全体对付软件未构建、拥有准确的库、门路等的成就和探究。

其次,开发人员可以或许构建一个 DevOps 管道,行使他们的容器来自动化构建、测试、阐发和陈列。自动化 DevOps 是一个极度强盛的见解,对付告成运用它们的任何企业都极度有价钱。大大都管道开发需求一些按部就班了构建和测试情形的虚拟机或容器。嵌入式开发人员可以或许行使 Docker 创立这个情形,并运用 Jenkins 和 Gitlab 等器材来构建他们的 DevOps 体系。

Dockerfile 底子知识

Docker 容器由 Docker 文件构建,平日称为 Dockerfile,它是一个文本文件,包孕构建 Docker 容器所需的全体属令。 譬如,不少 Dockerfile 将以 FROM 敕令起头,该敕令指定构建 Dockerfile 的现有 docker 映像。有差别的选项,譬如:

它运用最新的 Ubuntu 映像作为底子,运用 gcc 的人可以或许会运用近似的货物:

FROM gcc:11.2.0

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

另外一个经常使用敕令是 WORKDIR。 这指定了可以或许出现的任何敕令(如 RUN、CMD、ADD、COPY、ENTRYPOINT)的事变目录。

一个 Docker 文件将包孕配置开发情形所需的尽管即便多的敕令。然则,文件本身着实不是 Docker 容器。要运用容器,我们需求先构建它。

 

构建 Docker 容器

一旦 Docker 文件包孕构建映像所需的全体属令,就能经由过程收回以下构建敕令来构建映像:

 

## 构建docker映像 image:  docker build -t beningo/gcc-arm . 

 

在上述敕令中,共益动态调用 docker 来构建今后目录中存在的 Dockerfile。 -t 是标签参数。 在这类情形下,我将新创立的图像标记为 beningo/gcc-arm。 譬如,假定我运行敕令:

 

docker images 

我该当会收到我创立的全体 Docker 映像的列表:

 

面向嵌入式软件开发人员的 Docker 简介

 

标签协助我们识别映像。如您所见,我有一张我没有标记的映像。相识映像是什么颇有协助。由于映像很苟且达到 2 GB,因而假定有人不警醒,它们会很快占用大量硬盘空间!

运行 Docker 映像

构建 Docker 容器后,我们要运行映像。 我们可运用 docker run 敕令在映像中运行敕令,也可运用 -it 以交互要领与映像交互,这将准许我们经由过程终端界面拜访我们正在运行的映像。运行 docker 映像的经常使用敕令以下所示:

 

docker run –rm -it beningo/gcc-arm 

–rm 陈诉 Docker 我们要在退出卷时删除它。假定我想拜访外埠目录中的源代码,我还可运用以下敕令:

 

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

假定我运行此敕令尔后导航到 /home/app 文件夹,我们可以或许看到我可以或许拜访我的代码存储库:

 

面向嵌入式软件开发人员的 Docker 简介

 

尔后我可以或许经由过程在终端中输入 EXIT 来退出我的容器。 假定我不想退出,我可以或许延续构建我的源代码或执行我的容器可以或许具有的任何别的功用。

结论

对付停留简化构建情形和构建 DevOps 流程的嵌入式团队来说,Docker 是一个有效的器材,Docker 在见解上很俭朴,很苟且上手。某些细节可以或许很毒手,但可以或许很苟且地经管它们,从而为嵌入式开发人员供应更大的灵巧性并协助他们改进流程。