i.MX6ULL支持docker-V1.01

发表时间:2022-05-12 15:52


1. 导读:


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


2. 初始Docker


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

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

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

表1.1   Dokcer的三大核心概念

Dokcer的三大核心概念

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

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


3. ARM硬件环境


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

Dokcer的三大核心概念

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

表1.2   硬件平台资源

硬件平台资源




4. 烧录固件


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

烧录固件

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


5. Ubuntu搭建docker操作


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

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

Ubuntu搭建docker操作

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

Ubuntu搭建docker操作

  启动docker。

Ubuntu搭建docker操作

  使能docker开机自启动。

Ubuntu搭建docker操作

  检查docker运行状态。

Ubuntu搭建docker操作

Ubuntu搭建docker操作


6. 获取镜像


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

获取镜像

获取镜像

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

获取镜像

获取镜像



7. 创建容器


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

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

创建容器

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

创建容器

创建容器



8. 启动容器


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

启动容器

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

启动容器

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

启动容器

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

启动容器

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

启动容器

文章列表
新年伊始,喜讯传来!武汉万象奥科凭借过去一年在RK系列嵌入式技术方案开发、市场推广等方面的努力和积累,从Rockchip众多合作伙伴中脱颖而出,荣获瑞芯微“2024年度优秀合作奖”!这一荣誉的获得,是对武汉万象奥科技术实力和服务水平的充分肯定,更是双方合作、共赢的最佳见证。过去一年,万象奥科与瑞芯微紧密合作,成功推出并量产了搭载瑞芯微RK3588、RK3576、RK3562、RK3506等芯...
`overlayroot` 是一种使用 OverlayFS 实现的功能,可将根文件系统挂载为只读,并通过一个临时的写层实现对文件系统的修改。这种方法非常适合嵌入式设备或需要保持系统文件完整性和安全性的场景。下文以 RK3568 平台为例,介绍制作 overlayroot 的详细步骤。1. 制作精简文件系统ramdisk1.1   环境准备1. 目标系统:确保系统支持 OverlayFS(内核...
RK3506是一款高性能三核Cortex-A7处理器,内部集成Cortex-M0核心, 适合于工业控制、工业通信、人机交互等应用场景。为方便开发、使用,万象奥科推出HD-RK3506G-MINI单板机,仅需99元即可入手。单板机接口包含:以太网、RS232/RS485、CAN总线、液晶屏,支持接口扩展!产品特点:  多核异构3xCortex-A7+Cortex-M0,低功耗、高实时  外设接...
RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,...
RK3506单板机(卡片电脑)是一款高性能三核Cortex-A7处理器,内部集成Cortex-M0核心,RK3506单板机具有接口丰富、实时性高、显示开发简单、低功耗及多系统支持等特点,非常适合于工业控制、工业通信、人机交互等应用场景。 多核异构3xCortex-A7+Cortex-M0 外设接口丰富,板载网络、串口、CAN总线 支持Buildroot、Yocto系统,支持AMP混合部署 支...
作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!
UGFC是Unified Gold Finger Core Board的缩写(意指:统一接口定义金手指核心板),为武汉万象奥科电子有限公司基于企业标准定义的一种针对嵌入式、低功耗、通用型的小型计算机模块标准,采用204Pin金手指连接器,基于ARM架构的MPU平台,主要面向泛工业领域的数据采集、边缘数据处理、接口通讯与人机交互等应用场景。
1. 概念SMARC(Smart Mobility ARChitecture,智能移动架构)是一种通用的小型计算机模块定义,基于ARM和X86技术的模块化计算机低功耗嵌入式架构平台,旨在满足低功耗、低成本和高性能的应用需求。这些模块通常使用与平板电脑和智能手机中相似的ARM SOC,或其他低功耗SOC和CPU。  图片(314 Pin金手指)2. 起源SMARC最初名为ULP-COM,主要发...
网络时间协议NTP(Network TimeProtocol)是用于互联网中时间同步的标准互联网协议,可以把计算机的时间同步到某些时间标准。NTP对于我们产品来说有什么用呢,简单的讲,当你的设备时间不准确了,你可以接入到互联网,从网上同步一下时间,非常方便。
在 Android 开发中,源码管理是一项至关重要且颇具挑战性的任务。面对包含数百个 git 库的 Android 源码,如何高效地进行下载、管理和协作开发成为了开发者们必须攻克的难题!
武汉万象奥科电子有限公司
服务热线:027-59218026
销售邮箱:sales@vanxoak.com
主营产品:ARM核心板、ARM工控板
工业网关、软硬件定制设计
地址:武汉东湖新技术开发区大学园路长城园路8号海容基孵化园B5

扫描二维码
关注公众号
产品及方案咨询
专业专注   合作共赢
移动电话:181 2058 0511 (湖北)
移动电话:175 7010 9551 (华南、华中)
移动电话:133 0386 9667 (华东、华北)
移动电话:187 3812 7320 (其他)