当前位置: 首页 > 科技观察

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

时间:2023-03-21 22:54:41 科技观察

在本文中,我们将探讨Docker以及嵌入式软件开发人员如何使用它来改进他们的开发环境。在嵌入式软件开发中使用Docker开发人员可以将Docker用于多种用途,但嵌入式软件开发人员最感兴趣的有两个。首先,开发人员可以使用他们的构建环境来构建一个可移植的容器。这确保每个开发人员都使用相同的工具和开发环境。通过为新开发人员提供对用于构建Docker映像的源代码和相关Docker文件的访问权限,他们几乎可以立即启动并运行。这减少了所有关于未构建软件、具有正确的库、路径等的问题和讨论。其次,开发人员可以构建一个DevOps管道,利用他们的容器来自动化构建、测试、分析和部署。自动化DevOps是一个非常强大的概念,对任何成功使用它们的企业都非常有价值。大多数流水线开发都需要一些安装了构建和测试环境的虚拟机或容器。嵌入式开发人员可以利用Docker来创建此环境,并使用Jenkins和Gitlab等工具来构建他们的DevOps系统。Dockerfile基础Docker容器是从Docker文件构建的,通常称为Dockerfile,它是一个文本文件,包含构建Docker容器所需的所有命令。例如,许多Dockerfile将以FROM命令开头,该命令指定要在其上构建Dockerfile的现有docker映像。有不同的选项,例如:它使用最新的Ubuntu映像作为基础,使用gcc的人可能会使用类似:FROMgcc:11.2.0,它使用特定版本的gcc。(也可以使用FROMgcc:latest)。另一个常用的命令是WORKDIR。这为可能出现的任何命令(例如RUN、CMD、ADD、COPY、ENTRYPOINT)指定了工作目录。Dockerfile将包含设置开发环境所需的尽可能多的命令。然而,文件本身并不是Docker容器。要使用容器,我们需要先构建它。构建Docker容器一旦Docker文件包含构建镜像所需的所有命令,就可以通过发出以下构建命令来构建镜像:##Builddockerimageimage:dockerbuild-tbeningo/gcc-arm。在上面的命令中,调用docker来构建当前目录中存在的Dockerfile。-t是一个标记参数。在本例中,我将新创建的映像标记为beningo/gcc-arm。例如,如果我运行命令:dockerimages,我应该会收到我创建的所有Docker镜像的列表:标签帮助我们识别镜像。如您所见,我有一张未标记的图像。了解图像是什么很有帮助。由于图像很容易达到2GB,如果有人不小心,它们会很快占用大量硬盘空间!运行Docker镜像构建Docker容器后,我们要运行镜像。我们可以使用dockerrun命令在图像中运行命令,或者使用-it与图像交互,这将允许我们通过终端界面访问我们正在运行的图像。运行docker镜像的常用命令如下所示:dockerrun--rm-itbeningo/gcc-arm--rm告诉Docker我们要在退出卷时删除它。如果我想访问本地目录中的源代码,我也可以使用这样的命令:dockerrun--rm-it-v"$(PWD):/home/app"beningo/gcc-arm如果我运行这个命令,然后导航到/home/app文件夹,我们可以看到我可以访问我的代码存储库:然后我可以通过在终端中键入EXIT来退出我的容器。如果我不想退出,我可以继续构建我的源代码或执行我的容器可能具有的任何其他功能。结论对于希望简化构建环境和构建DevOps流程的嵌入式团队来说,Docker是一个有用的工具。Docker在概念上很简单,也很容易上手。某些细节可能很棘手,但可以轻松解决,从而为嵌入式开发人员提供更大的灵活性并帮助他们改进流程。