0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—Docker容器部署方法说明

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2025-08-06 15:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

本指导文档主要演示Docker容器部署的方法,并基于Docker运行led_flash例程。适用开发环境如下:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:Ubuntu 18.04.4 64bit

虚拟机:VMware15.5.5

LinuxSDK:T113_Tina5.0-V1.0(Linux)

U-Boot:U-Boot-2018.07

Kernel:Linux-5.4.61

我司提供的eMMC版本Linux系统镜像默认已支持Docker,可直接进行测试。

备注:NAND FLASH配置核心板因分区配置问题,暂不支持Docker测试。

Docker架构

Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构。通过利用Docker的快速发布、测试和部署代码的方法,可显著减少产品开发时间。

Docker使用客户端——服务器(C/S)体系结构。Docker客户端与Docker守护进程进行通信,后者执行构建、运行和分发Docker容器的繁重工作。Docker客户端和守护进程可在同一个系统上运行,亦可将Docker客户端连接至远程Docker守护进程。Docker客户端和守护进程使用REST API、UNIX套接字或网络接口进行通信。

wKgZO2iSzXSAbACxAAQcJEHKnWw237.png图 1

更多详情请可参考Docker官网链接:What is Docker? | Docker Docs。

Docker安装

安装方法

安装依赖包

打开Ubuntu,确保Ubuntu可正常访问互联网,执行如下命令安装Docker依赖包。

Host# sudo apt-get update

wKgZO2iSzX6AD3FVAABPkIBDhqo266.png图 2

Host# sudo apt-get install ca-certificates curl gnupg lsb-release

wKgZPGiSzYeAF09ZAACjPpkFOfU646.png图 3

添加Docker官方GPG密钥

Host# sudo mkdir -m 0755 -p /etc/apt/keyrings

Host# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

wKgZPGiSzZ6AGelLAABkWN02xl4155.png图 4

设置Docker Stable存储库

Host# echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

wKgZPGiS--aAMq5iAABPZq6YecA372.png图 5

安装Docker

Host# sudo apt-get update

Host# sudo apt-get install docker-ce docker-ce-cli containerd.io

wKgZO2iS_DqAchmRAACGg8wYzzc072.png图 6

wKgZPGiS_EGASQ8WAAHAvlmD25M181.png图 7

验证Docker

执行如下命令,通过运行Docker自带的hello-world镜像来验证是否已安装成功。程序运行后,输出如下内容则表示Docker安装成功。

Host# sudo docker run hello-world

wKgZPGiS_E2AciO6AAE4Q_m4qdw978.png图 8

更多参考信息,请查阅官方手册:https://docs.docker.com/engine/install/ubuntu。

搭建本地镜像仓库

Docker用Registry来保存用户构建的镜像。Registry分为公共和私有两种。Docker公司运营的公共Registry叫做Docker Hub,用户可在Docker Hub注册账号,分享并保存自己的镜像。Docker公司的公共镜像仓库(https://hub.docker.com)提供了庞大的镜像集合供用户使用。一个Docker Registry中可包含多个仓库,每个仓库可包含多个标签(Tag),每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签对应该软件的各个版本。用户可通过“[<仓库名>:<标签>]”的格式来指定具体是某个软件某个版本的镜像。如未给出标签,将以[latest]作为默认标签。

本次使用的镜像是registry:2,请执行如下命令自动下载并启动。

Host# mkdir -p /home/tronlong/docker/myregistry

Host# sudo docker run -d -p 5000:5000 -v /home/tronlong/docker/myregistry:/var/lib/registry registry:2

参数说明:

-d:后台启动容器。

-p:将容器的5000端口映射至Ubuntu的5000端口(5000是registry服务端口)。

-v:将容器"/var/lib/registry"目录映射至Ubuntu的"/home/tronlong/docker/myregistry",用于存放镜像数据。

wKgZPGiS_HqAWAyrAADbvTxo4es792.png图 9

请执行如下命令,查看容器是否已启动,出现如下内容说明容器已正常启动。

Host# sudo docker ps

wKgZPGiS_L6AS33fAABXDa1G8jg843.png图 10

请通过浏览器访问"http://192.168.10.101:5000/v2/_catalog",若返回如下内容则说明registry已经成功启动,192.168.10.101为Ubuntu的IP。

wKgZO2iS_MWAXPYtAAAY2-5gZdI217.png图 11

因为Docker刚建立运行,所以里面无任何镜像内容。至此,Docker环境安装完成。

构建镜像

请在Ubuntu上新建工作目录"/home/tronlong/docker/dockerfile/",并将产品资料“4-软件资料LinuxFilesystemdocker”目录下的文件系统压缩包和产品资料“4-软件资料Demobase-demosled_flashbin”目录下的可执行文件拷贝至Ubuntu共享目录下,再执行如下命令拷贝至Docker工作目录。

Host# mkdir /home/tronlong/docker/dockerfile

Host# cp /mnt/hgfs/SharedFolders/led_flash /home/tronlong/docker/dockerfile/

Host# cp /mnt/hgfs/SharedFolders/rootfs.tar/home/tronlong/docker/dockerfile/

wKgZPGiS_NKAWotcAADMoop9rqM941.png图 12

在"/home/tronlong/docker/dockerfile/"目录下,创建Dockerfile文件,并编写如下内容。

Host# cd /home/tronlong/docker/dockerfile

Host# gedit Dockerfile

wKgZO2iS_N6AXUWQAABiV3U3jnM169.png图 13 wKgZO2iS_N6ATy7hAACJE0IVWMQ968.png图 14

Dockerfile文件内容如下:

FROM scratch #基于空的基础镜像构建新的镜像

# Set work directory

WORKDIR /root #为CMD、COPY和AND设置工作目录

# Decompress the file system

ADD rootfs.tar / #解压文件系统

# Copy file to image

COPY led_flash . #拷贝可执行文件至镜像的"/home/root/"目录下

# Shell command executed when the container is started

# CMD ["executable","param1","param2"]

CMD ["./led_flash", "-n 1"] #容器启动时执行的shell命令,此处为执行LED闪烁程序的命令

在Dockerfile文件所在的目录下执行如下命令,进行构建镜像。

Host# sudo docker build -t 192.168.10.101:5000/led_flash:v1.0 . //注意命令最后含有"."

Host# sudo docker images //查看已构建的镜像

参数说明:

192.168.10.101:Ubuntu的IP地址;

-t:指定镜像的名字及标签(name:tag)。

wKgZPGiS_z-AS4KyAAFjSfo9HJU306.png图 15

请执行如下命令,将镜像推送至本地仓库Registry。

Host# sudo docker push 192.168.10.101:5000/led_flash:v1.0

wKgZO2iS_0eAcuiHAABhNLUq3w0658.png图 16

Docker版本从1.3.X之后,与Docker Registry交互默认使用https,然而前面搭建的私有仓库仅提供http服务,因此当与私有仓库交互时将出现上面的错误提示。可通过修改"/etc/docker/daemon.json"文件来解决该问题,请执行如下命令,192.168.10.101为Ubuntu的IP。

Host# sudovi/etc/docker/daemon.json

wKgZO2iS_4-AOZSpAAAzoZBM3zw428.png图 17

请在daemon.json中添加如下配置内容:

{

"insecure-registries": ["192.168.10.101:5000"]

}

执行如下命令,重新启动Docker、Registry容器(通过指定ID),并重新推送镜像至本地Registry。

Host# sudo /etc/init.d/docker restart

Host# sudo docker ps -a

Host# sudo docker start 0833de1304d9 //以查询得到的CONTAINER ID号为准

Host# sudo docker push 192.168.10.101:5000/led_flash:v1.0

wKgZO2iS_5aAQvPTAAHZw9PhN_U639.png图 18

通过浏览器访问"http://192.168.10.101:5000/v2/_catalog",即可看到当前仓库里已有的镜像。

wKgZPGiS_52AHQRJAAAZpqD3N6M411.png图 19

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!


审核编辑 黄宇

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

    关注

    25

    文章

    6140

    浏览量

    113615
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国产T113-i Cortex-A7@1.2GHz 工业开发板—Linux系统使用手册(三)

    本文档详细介绍了T113开发板的Linux环境搭建与系统编译流程。主要内容包括:1)开发环境要求(Windows/VMware/Ubuntu版本);2)Linux SDK安装步骤(依赖软件安装、源码
    的头像 发表于 09-04 14:56 456次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—Linux系统使用手册(三)

    国产T113-i Cortex-A7@1.2GHz 工业开发板—Linux系统使用手册(二)

    本文档详细介绍了T113开发板的Linux环境搭建与系统编译流程。主要内容包括:1)开发环境要求(Windows/VMware/Ubuntu版本);2)Linux SDK安装步骤(依赖软件安装、源码
    的头像 发表于 09-02 16:36 523次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—Linux系统使用手册(二)

    国产T113-i Cortex-A7@1.2GHz 工业开发板—视频开发案例

    本文主要介绍基于创龙科技TLT113-EVM评估的视频开发案例,适用开发环境如下。
    的头像 发表于 08-26 14:35 708次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—视频<b class='flag-5'>开发</b>案例

    国产T113-i Cortex-A7@1.2GHz 工业开发板—ARM + FPGA通信案例

    本文主要介绍基于科技T113与FPGA的间通信案例,适用开发环境如下。
    的头像 发表于 08-19 11:16 767次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—ARM + FPGA通信案例

    国产T113-i Cortex-A7@1.2GHz 工业开发板—ARM + DSP、RISC-V间通信开发案例

    本文档主要介绍T113-i处理器的ARM + DSP、RISC-V间通信开发案例,演示T113-i处理器ARM Cortex-A7与HiF
    的头像 发表于 08-18 14:03 648次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—ARM + DSP、RISC-V<b class='flag-5'>核</b>间通信<b class='flag-5'>开发</b>案例

    国产T113-i Cortex-A7@1.2GHz 工业开发板—RISC-V案例开发手册(上)

    本文档主要介绍T113-i处理器的RISC-V案例开发,演示RISC-V核心RTOS案例的编译与加载方法。适用开发环境如下。
    的头像 发表于 08-13 11:34 4.4w次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—RISC-V案例<b class='flag-5'>开发</b>手册(上)

    国产T113-i Cortex-A7@1.2GHz 工业开发板—DSP案例开发手册

    本文档主要介绍T113-i处理器的HiFi4 DSP核心开发案例,演示HiFi4 DSP核心RTOS案例的工程编译、程序固化和工程调试的方法。适用开发环境如下。
    的头像 发表于 08-12 11:37 592次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—DSP案例<b class='flag-5'>开发</b>手册

    国产T113-i Cortex-A7@1.2GHz 工业开发板—物联网模块开发案例(上)

    本文档主要介绍基于TLT113-EVM评估的物联网模块开发案例。
    的头像 发表于 08-07 14:47 663次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—物联网模块<b class='flag-5'>开发</b>案例(上)

    【创龙TLT113-MiniEVM开发板试用体验】开箱评测

    T113-iCortex-A7@1.2GHz + 玄铁C906 RISC-V@1
    发表于 08-05 19:59

    国产T113-i Cortex-A7@1.2GHz 工业开发板—LVGL应用开发案例

    本文主要演示基于TLT113-EVM评估的LVGL官方案例以及应用开发案例
    的头像 发表于 07-29 10:06 777次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b>  <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—LVGL应用<b class='flag-5'>开发</b>案例

    国产开发板—米尔T113-i如何实现ARM+RISC-V+DSP协同计算?

    、实时性要求差异大,单一架构无法满足所有需求。因此米尔推出MYD-YT113i开发板(基于T113-i)来应对这一市场需求。 米尔基于
    发表于 03-21 16:50

    【正点原子】T113-i开发板资料震撼来袭!异开发、工控设计方案!

    、高可靠性、低成本和丰富的接口资源,适用于嵌入式系统开发T113-i芯片框架 一、T113IS开发板介绍 1、高性价比主控
    发表于 03-13 15:37

    实用调试技能:T113-i 音视频测试

    前言:音视频功能是现代嵌入式系统中的核心应用之一,尤其在T113-i开发板中,其丰富的音视频接口为开发者提供了强大的
    的头像 发表于 03-06 08:31 2277次阅读
    实用调试技能:<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 音视频测试

    哇!5.2秒进入应用界面!Linux快速启动方案分享,基于T113-i国产平台

    T113-i国产平台优势 T113-i处理器可运行Linux操作系统、Qt炫酷图形界面,并可支持1080P高清视频编解码、4G大数据
    发表于 01-23 09:53

    T113-S3开发板网络通信

    电子EVM-T113-S3是一款基于T113-S3ARMCortex-
    的头像 发表于 12-26 08:32 2022次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-S3<b class='flag-5'>开发板</b>网络通信