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

news/2024/10/12 15:29:33

本文分享自天翼云开发者社区《一种基于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一样,直接使用容器部署,大大提供了部署效率。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/70686.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

点对点协议PPP

PPP协议的特点 接入到互联网,PPP协议就是用户计算机和ISP进行通信时,所使用的数据链路层协议,它应满足如下需求:简单封装成帧透明性多种网络层协议多种类型链路差错检测检测连接状态最大转送单元网络层地址协商数据压缩协商具体内容见谢书P79PPP协议的组成 PPP协议有三个组…

python中_init_.py 到底有啥用?

1. __init__.py 是个啥? __init__.py,这个文件名就是用来“初始化”的。在Python里,它主要用于标识一个目录是一个“包(Package)”。在项目里新建了一个文件夹,要让它成为一个可供导入的模块包,最简单的办法就是在里面加一个__init__.py。 比如,咱们有个项目结构如下:…

白鲸开源WhaleStudio项目获得“创客北京2024”企业组优秀奖,晋级复赛!

近日,“创客北京2024”海淀区复赛名单正式公布,白鲸开源凭借其全球领先的云原生DataOps平台——WhaleStudio,荣获企业组优秀奖,并成功进入复赛名单。 此次“创客北京2024”海淀区级赛由中关村科学城管理委员会主办,北京中关村科学城科创服务有限公司与中国北京(海淀)留学…

Kimi 探索版发布,搜索量增强 10 倍;北大快手开源 Pyramid Flow Matching 丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

Jenkins定时构建

目录Jenkins 定时任务构建定时语法 Jenkins 定时任务构建选择需要定时执行的任务并进入点击 配置 按钮进入配置界面点击 构建触发器 并跳转到对应的配置部分,勾选上 Build periodically 选项在出现的日程表中填写对应的定时语句,并点击 保存 即可生效定时语法定时构建语法:*…

智能排线助力快消品企业实现高效与最优排线

路线拜访是快消品行业深度分销模式中高效开发、管理和维护终端市场的重要方式。通过将门店归入固定的路线内,确保每家店都能按合理的频率去拜访,确保既不丢店、不漏店,又能在合理周期内给门店补货,达到业代工作效率最大化。 所以对于企业而言,给业务人员的拜访路线做好最优…

Some bytes have been replaced with the Unicode substitution character while loading file

需要修改一较旧的网页代码,当打开时,却出现异常提示: Some bytes have been replaced with the Unicode substitution character while loading file 【文档路径】 with Unicode(UTF-8) encoding. Saving the file will not preserve the original file contents. 点“OK”…

SaaS架构:开放平台架构设计

大家好,我是汤师爷~ 今天聊聊开放平台架构设计。 为什么需要搭建开放平台 增强产品能力 开放平台能够让三方开发者和合作伙伴开发新的应用或服务,增加原有SaaS产品能力。这样就可以满足更多用户需求,从而提高用户的满意度和黏性。 促进创新 三方开发者能够在SaaS标准产品的基…