• docker镜像制作


    海思3556平台为例:

    Dockerfile

    FROM ubuntu:18.04
    
    ## Setup env 
    ENV  TARGET_PLATFORM="hi3556v200"
    ENV  TARGET_PLATFORM_MACRO="platform_${TARGET_PLATFORM}"
    ENV  ARCH="armv7-a"
    ENV  TARGET_ARM=true
    ENV  HAS_NEON=true
    ENV  HAS_FPU=false
    ENV  TOOLCHAIN_NAME=arm-himix410-linux
    ENV  TOOLCHAIN_PREFIX=${TOOLCHAIN_NAME}-
    ENV  TOOLCHAIN_HOME=/opt/arm-himix410-linux
    ENV  TOOLCHAIN_INCLUDE_PATH=${TOOLCHAIN_HOME}/include
    ENV  TOOLCHAIN_LIB_PATH=${TOOLCHAIN_HOME}/lib
    ENV  PATH=${PATH}:${TOOLCHAIN_HOME}/bin
    
    RUN  apt-get install -y gcc-multilib lib32z1 &&\
         apt-get clean 
    
    
    ## Extract toolchain package to docker
    ADD  arm-himix410-linux.tgz /tmp
    
    ## Install toolchain package 
    RUN  cd /tmp/arm-himix410-linux \
         && ./arm-himix410-linux.install /opt \
         && rm -fr /tmp/* 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    Docker镜像的内置环境变量
    构建镜像的时候,需设置以下环境变量:
    ARCH : CPU架构,用于交叉编译,比如:armv7, x86_64等
    TARGET_PLATFORM :目标平台名称,如:x86_64-linux-gnu, macos, win64, som928, som626等
    TARGET_ARM : 该环境变量是为了兼容旧项目代码,当目标平台为ARM时,需定义该环境变量,其值固定为true.
    TOOLCHAIN_NAME :工具链平台名称:比如:arm-himix410-linux
    TOOLCHAIN_PREFIX :工具链前缀,其值固定为 T O O L C H A I N N A M E − T O O L C H A I N H O M E : 工 具 链 的 安 装 目 录 , 其 值 固 定 为 / o p t / {TOOLCHAIN_NAME}- TOOLCHAIN_HOME : 工具链的安装目录,其值固定为 /opt/ TOOLCHAINNAMETOOLCHAINHOME:/opt/{TOOLCHAIN_NAME}
    TOOLCHAIN_INCLUDE_PATH : 工具链的头文件搜索路径,例如 ${TOOLCHAIN_HOME}/include
    TOOLCHIAN_LIB_PATH : 工具链的程序库搜索路径,例如 ${TOOLCHAIN_HOME}/lib
    HAS_NEON : 是否支持neon硬件加速,其值为true或false
    HAS_FPU : 是否支持FPU硬件浮点计算器,其值为true或false

    构建生成镜像:

    docker build -t hi3556:v1.0 .		//hi3556:v1.0 镜像名称:版本号
    
    • 1

    创建启动镜像容器:

    docker run -t -d -v /work:/work --name hi3556 hi3556:v1.0 /bin/bash		//-v目录映射,--name容器命名, /bin/bash维持容器不自动退出
    
    • 1

    进入容器:

    docker exec -u 0 -it hi3556 bash
    
    • 1

    镜像导出:

    docker save -O hi3556.tar hi3556:v1.0
    
    • 1
  • 相关阅读:
    谈谈对mqtt和kafka的理解
    Maven项目依赖
    基于 Docker 搭建 ownCloud 个人云盘
    形态学 - 骨架
    便携式手提万兆网络协议测试仪
    科研教育「双目视觉技术」首选!维视MV-VS220双目立体视觉系统开发平台
    正则表达式
    Tomcat文件包含漏洞(CVE-2020-1938)
    通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
    代码随想录第14天 | ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组
  • 原文地址:https://blog.csdn.net/weixin_43793181/article/details/128023098