一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统

天翼云开发者社区
• 阅读 132

本文分享自天翼云开发者社区《一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统》,作者:郑****团

一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统,包括以下步骤: 步骤1:准备arm64位基础镜像包 在docker官网上下载对应arm64位python-arm-3.7.8-alpine基础镜像包。在预先配置好python包的基础上,alpine相比于centos来说小的多,没有默认的预安装环境。需要自己安装python运行依赖的基础组件,包括bash-doc、bash-completion、gcc、g++、make、libc-dev、libffi-dev mysql-dev、linux-headers、pcre-dev、pip。 查看适配的ARM架构服务器环境。服务器有公网访问权限,可以直接根据requirements.txt 文件,使用pip安装云管应用服务所需的依赖包;服务器没有公网访问权限,则需要手动下载对应的依赖包,拷贝到基础镜像中,使这些依赖能够被云管应用所使用。通过复制代替了下载和安装依赖包,大大节省了下载和安装依赖包的过程的时间,节约时间成本。 我是通过下载离线依赖包这种方式,之后我将上述步骤整理编写成DockerFile文件,通过docker命令直接构建云管Python应用的基础镜像,将编译好的基础镜像上传到制品库。

步骤2:根本编译好的基础镜像构建云管应用镜像,并运行容器 根据编译好的云管Python应用的基础镜像构建,通过得到的服务部署环境信息,生成对应的配置文件,复制配置文件,修改对应文件的执行权限。通过docker built -t 构建对应的镜像。 基于该镜像通过docker run启动云管Python应该服务,查看日志,查看应用是否有问题。 将容器中的代码路径挂载出来,后续小版本升级直接替换要更新的代码,大版本升级直接根据基础镜像构建新的部署镜像,将原来的镜像备份和原来的容器停止,启动新的容器。 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。 本发明通过适配ARM架构,提供了云管arm64版本的镜像,可以和x86一样,直接使用容器部署,大大提供了部署效率。 一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本
为什么需要ARM64架构的OpenJDK8的Docker镜像对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派的Docker环境运行(也可能是其他ARM环境,如华为的泰山ARM服务器),需要JDK8镜像作为基础镜像。OpenJDK的官方Dockerfile去OpenJDK的docker镜像
Stella981 Stella981
3年前
Docker 系列:打包新镜像到阿里云镜像仓库
一、.JibJava应用构建容器镜像1.Jib介绍Jib是Google开发的可以直接构建Java应用的Docker和OCI镜像的类库,以 Maven 和 Gradle 插件形式提供。通过Jib,Java开发者可以使用他们熟悉的Java工具来构建容器。Jib是一个快速而简单的容器镜像构建工具,它负责处理
Stella981 Stella981
3年前
Docker:dockerfile构建php项目 [八]
一、把项目封装成docker镜像的步骤把项目封装成docker镜像的步骤:1、先运行一个基础容器,手动制作docker镜像2、编写dockerfile,构建镜像3、测试运行二、dockerfile常用指令参考1、dockerfile常用指令:
Wesley13 Wesley13
3年前
4、Docker 镜像构建
Docker镜像构建构建分为两种手动构建自动构建dockerfile手动构建首先启动一个Centos容器,然后在容器中安装一个nginxroot@node~dockerrunitnamenginxmancentosroot@b825
Stella981 Stella981
3年前
Skywalking监控工具搭建使用指南
1.搭建1.构建Skywalkingdocker镜像Skywalking支持下载zip包安装,但是推荐使用docker进行安装更加方便。Skywalking在DockerHub提供了官方镜像,我们只需要引用在此基础上进行扩展即可。Skywalkingoap(服务端,接受埋点信息和计算)!(https://oscim
Stella981 Stella981
3年前
ARM架构下的Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?
为什么需要ARM架构下的OpenJDK8的Docker镜像?对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派的Docker环境运行(或者其他ARM架构电脑,例如华为泰山服务器),需要JDK8镜像作为基础镜像。现在有什么问题?在《ARM64架构下,OpenJDK的官方Docker镜像为何
Stella981 Stella981
3年前
Maven镜像源
Maven仓库镜像修改Mavensetting.xml文件在<mirrors标签内添加以下镜像。<fontcolor"red"注意:如果构建错误,请根据错误信息,调整镜像位置</font<mirror<idrepo2</id<mirrorOfcentral</m
Stella981 Stella981
3年前
Docker学习——多阶段构建(六)
之前的做法在Docker17.05版本之前,我们构建Docker镜像时,通常会采用两种方式:全部放入一个Dockerfile一种方式是将所有的构建过程编包含在一个Dockerfile中,包括项目及其依赖库的编译、测试、打包等流程,这里可能会带来的一些问题:1、Dockerfile特别长,可维护性降低2、镜像层次多,镜像体积较大,
Stella981 Stella981
3年前
28项容器镜像的检查清单(Checklist)
容器镜像是云原生环境中各类应用的标准交付格式。由于容器镜像需要大量分发和部署,因此,需要确保容器镜像在构建、分发和运行全生命周期内的安全。镜像扫描是检查操作系统和安装包中是否存在已知漏洞的一项基本措施。除此之外,还有很多措施可以加强容器镜像的安全。如下表所示,基于镜像安全4个阶段,11个要求,28项检查点,全面检测容器生命周期各个阶段的镜像风险,确保容器镜像
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
722
粉丝
15
获赞
40