i.MX6ULL支持docker-V1.01

描述

 

1.导读:

联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。Docker只所以发展如此迅速,也因其对这些情况给出了一个标准化的解决方案。本文将以我们武汉万象奥科电子有限公司的i.MX6ULL评估套件作为平台,搭建支持docker的嵌入式环境。

2.初始Docker

Docker是基于Go语言实现的开源容器项目,设想这么一个情况,应用层、服务等操作需要在多种不同的嵌入式平台搭建,每移植到一个平台上时,需要为每个平台搭建环境,例如安装Apache、MySQL、PHP等环境,每次引入新平台都是一轮耗时耗力的工程。

而Docker提供一种更为聪明便捷的方法,通过容器来打包应用、解耦应用和运行平台。意味着导入新平台时,只需新平台内运行docker容器,就可以快速完成部署。

本节简单介绍一下Docker的三大核心概念,更详细请根据网上资料专业学习Docker知识。

表1.1 Dokcer的三大核心概念

D

目前最大的公开仓库是官方提供的Docker Hub,其中存放着数量庞大的镜像供用户下载。同时国内的企业也逐步构建起自己的业务镜像,如华为云的IoT边缘 IoTEdge、阿里云等服务,都逐渐去底层差异化。

当用户搭建好自己的镜像后,只需push命令上传到指定的仓库。在新的机器上,只需pull命令将镜像从仓库下载下来。

3.ARM硬件环境

本文档使用我司的HD-IMX6ULL-MB评估套件来实现docker环境,硬件产品如下所示。

D

硬件平台环境条件如下所示。

表1.2 硬件平台资源

D

4.烧录固件

使用我司特别提供的固件(可快速安装docker),快速部署验证。固件包为“mfgtools_imx6ull_emmc_ubuntu18.04_filesystem_全开源核心板.zip”,需要验证的客户可直接联系我司的销售工程师获取即可。内容如下所示。

D

烧录步骤参考用户手册即可,这里不再赘述。

5.Ubuntu搭建docker操作

上述固件包内已经是Ubuntu系统镜像,我们只需在此环境下直接使用命令安装docker环境即可。系统安装docker环境的操作步骤如下所示。

首先,烧录后的第一次上电的板卡需要更新内部的软件版本,命令如下所示。update更新失败注意检测网络状态和date日期。部分软件可能体积过大,需要耐心等待。

D

然后清除旧版本的docker软件,再重新安装docker.io。

D

启动docker。

D

使能docker开机自启动。

D

检查docker运行状态。

DD

6.获取镜像

运行此命令可以从Docker Hub上下载现成镜像。

DD

查看本地的镜像文件命令如下所示。

DD

7.创建容器

如上文所说,镜像可以看作一个只读模板,而容器就是加载模板后运行的沙盒环境,具有运行时所需的可写文件层、应用程序也处于运行状态。概念上可能会与PC端常用的虚拟机混淆,虚拟机是包括内核、应用运行环境和其他系统环境的,而Docker容器就是独立运行的一个或一组应用以及他们必须的运行环境。

创建容器时,需要指定使用的镜像文件,这里使用上面用pull指令下载下来的镜像文件,创建命令如下所示。

D

查看容器状态,命令如下所示,每个容器都有自己的CONTAINER_ID与NAMES,供后面的命令操作使用(可使用docker rename命令修改容器名,便于简便使用)。

DD

8.启动容器

容器创建后,通过CONTAINER_ID与NAMES来操作容器,启动命令如下所示。

D

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

D

上文所说,容器是运行一个或一组进程,docker ps命令里的COMMAND即为容器运行的进程,当前显示bash,即进入命令交互进程。通过以下命令进入容器内部。

D

进入后,可以操作容器内的命令,如下所示。

D

通过exit命令,可退出容器,退出后容器就处于停止状态,如下所示。

D

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • D

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分