N个技巧,编写更高效Dockerfile|云效工程师指北
简介:云原生时代下软件的构建和部署离不开容器技术。提到容器,几乎大家下意识都会联想到 Docker 。而 Docker 中有两个非常重要的概念,一个是Image(镜像),一个是Container(容器)。前者是一个静态视图,打包了应用的目录结构、运行环境等;后者是一个动态视图(进程),展示的是程序的运行状态(cpu、memory、storage)等信息。接下来的文章主要分享的是如何编写能使 Dockerfile 构建过程更快速、构建镜像更小的技巧。

大家好,我是陈泽锋,我在云效负责Flow流水线编排、任务调度引擎相关的工作。在云效的产品体系下,我们服务了各种研发规模、技术深度的的企业用户,收到了非常多的用户反馈。对于使用 Flow 进行云上构建的用户来说,构建速度是大家普遍关心的关键要素,在深入分析用户案例的过程中,我们发现了许多通用问题,只需要修改优化自己的项目或工程配置,就可以大大提升构建的性能,从而进一步加速 CICD 的效率。今天我们会以容器镜像构建作为切入点,总结一些在实际工程中,非常实用的优化技巧。
云原生时代下软件的构建和部署离不开容器技术。提到容器,几乎大家下意识都会联想到 Docker 。而 Docker 中有两个非常重要的概念,一个是Image(镜像),一个是Container(容器)。前者是一个静态视图,打包了应用的目录结构、运行环境等;后者是一个动态视图(进程),展示的是程序的运行状态(cpu、memory、storage)等信息。接下来的文章主要分享的是如何编写能使 Dockerfile 构建过程更快速、构建镜像更小的技巧。
镜像定义
首先我们先来了解一下 Docker 镜像,它由多个只读层堆叠到一起,每一层是上一层的增量修改。基于镜像创建新容器时,将在基础层的顶部添加一个新的可写层。该层通常称为“容器层”。下图展示了一个基于 docker.io/centos 基础镜像构建的应用镜像,创建出容器时的视图。

相关文章
-
【PW早报】Airpods第二代、Kindle青春版、Oculus联想版…开始发售上市
-
董明珠与雷军难说胜负
-
以农业行业为例:谈谈ToG信息化产品建设分享
-
微信还在删除拉黑!学习知识点二,再也不担心被打扰生活查岗
-
母婴第一股宝宝树:沦为导流平台,隐形大佬延长“时限”
-
“禧”提星巴克:星巴克开进浙大校园
-
解析函数y=(x+3)^2(3x+19)^3的主要性质
-
评论|“阿里离职女高管”风波:一场源起网络流量的闹剧
-
物美接盘近半数邻家门店,更名为“多点便利店”
-
如何快速成功地发表论文?
-
华为手机三包包括哪些
-
从微信朋友圈看「撤回再编辑」:这是互联网不起眼的后悔药
-
淘宝发布《2019中国时尚趋势报告》,预测女人越来越硬朗,男人越来越精致
-
焦点分析|集齐腾讯阿里小米,香港虚拟银行牌照的含金量有多大?
-
苹果搜索广告ASA已可在中国大陆地区AppStore正式投放
-
你要看看!OFO小黄车和权健的危机,媒体充当什么角色?
-
永恒之蓝下载器木马升级更新没完没了,新增无文件攻击
-
最前线|微信“好看”变“在看”后,你会更愿意阅读吗?
-
相比于微信5.0,微信7.0只能是一个年龄渐长的代号
-
加州无人出租最新报告:Waymo规模无敌手,但单车效率已被PonyAI超越
-
智东西周报:马化腾谈华为事件联想称美国再加税或把生产线搬离中国车载微信年内推出
-
工信部对腾讯采取过渡性行政指导登上央视新闻!网友含泪点赞
-
【PW早报】华为:6月24日发布发布操作系统鸿蒙为不实消息
-
2020展望|音乐与音频:内部竞争接近收尾,需要应付的是门口的野蛮人
-
美最大有线电视运营商加入谷歌反垄断调查之战
-
旧设备焕发新生
-
怎么调电脑字体大小
-
聊一聊:你现在会频繁使用5G吗?
-
招募|腾讯AILab招收多名CV应用开发实习生