本文分享自天翼云开发者社区《一种基于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一样,直接使用容器部署,大大提供了部署效率。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容