Docker基础——镜像构建最佳实践
时间:2023-08-21 22:00:38来源:哔哩哔哩


【资料图】

使用以上命令可以让我们看到已经被用来创建容器的image每层内部的具体信息:

每一行输出代表着image中的每一层,从上到下依次是最下游到最上游,详细的分层数据有助于帮助我们诊断image体积过大的问题。

我们可以看到Docker file中的每一个命令会在image中形成一个新的层,根据Docker的规定当镜像中的层有变化时其下游必须重建,然而在上述示例的场景中重复的 yarn install是无意义的,所以我们可以尽可能规避变化带来的影响: 

上述代码将之前的一次COPY操作改为了两次,第一次COPY只将和锁定文件复制到了容器内部,用以支持下一步的install操作,在install之后在复制其余的文件。也就是说上述示例将文件的变化隔离到了两层:当文件变化是才重新执行install;当之外的文件变化时只重新拷贝文件。

我们可以使用.dockerignore忽略不必要被拷贝的文件,以此进一步减小COPY动作的开销,比如node_modules。

经过以上改造当我们因为变更重新执行 docker build 命令时未受影响的层都将沿用老的镜像层,只对变更影响的部分进行重建。

如果我们使用服务端渲染大多数生产环境中我们都不需要在容器中加入node环境,我们可以通过二次构建将node环境剥离,使镜像中只存在前端构建产物而不存在构建依赖。

上述示例中第一阶段先试用node环境构建出前端产物,第二阶段将第一阶段的构建产物加入真实构建出的镜像中,在构建出的image中只存在第二阶段所描述的内容。

标签:

生活指南
  • 可以和女npc一起生活的游戏推荐 可以和npc结婚

    可以和女npc一起生活的游戏是很多的玩家很喜欢的游戏的类型之一,在可

  • 蒋家旻(关于蒋家旻简述)

    ,你们好,今天0471房产来聊聊一篇家旻,家旻简述的文章,网友们对这件

  • 禁止驶入!东海实弹射击训练

    中国海事局网站消息,8月22日6时至13时,东海实弹射击训练,禁止驶入。

  • 砍甘蔗,为什么要付一天两三百元的较高工资?

    中国人的上帝就是自己广东三线城市的乡镇也差不多,工作不太辛苦的农活

  • 我国工业机器人装机量占全球比重超50% 制造业机器人密度达到每万名工人392台

    记者日前从2023世界机器人大会上获悉:2022年我国工业机器人装机量占全

  • 成飞集成(002190):8月18日北向资金减持21.11万股

    8月18日北向资金减持21 11万股成飞集成。近5个交易日中,获北向资金减

  • 2023年安徽省就业援藏专场招聘会举办

    原标题:2023年安徽省就业援藏专场招聘会举办安徽日报讯(安徽日报报业

  • 有社保还要交意外险吗?有什么好处?

    虽然有社保,但仍建议考虑购买意外险。 社会保险通常提供一定程度的医

  • 碧桂园债务展期颇有诚意,最大限度避免后续二次展期带来的伤害!摩根大通加仓、大宗交易溢价,大佬力挺

    8月18日,碧桂园债务展期有了新进展,启动点对点谈判以及投票。  据

  • 邀您共赴2023中国算力大会丨携手共筑算网优势,充分释放数智价值

    由工业和信息化部、宁夏回族自治区人民政府联合主办的2023中国算力大会

  • 日本暴徒为何如此猖狂?中国留学生在涩谷被殴打抢劫事件令人痛心

    一名日本暴徒在涩谷街头公然殴打并抢劫了一名中国留学生!据悉,这名留

  • 航新科技(300424.SZ):股东黄欣拟减持不超2%股份

    格隆汇8月18日丨航新科技(300424)(300424 SZ)公布,持股2%的股东黄欣拟

  • 杭州姑娘紧急报警:有人厕所偷拍!之后意外的事发生了

    据杭州日报消息,8月14日晚上6点半左右,滨江某大厦22楼女厕所,一名身

  • 上海也有了!“红橙绿”提醒走进超市

    还记得不久前我们曾经报道过新加坡的饮料开始分级了当时,不少网友都留

  • 8月17日 14:20分 三维化学(002469)股价快速拉升

    分时图快速拉升意味此时存在大单买入,在大单的推动下,股价快速地上涨

  • 中信建投:锂价弱势下寻成本支撑,终端静待旺季订单回升

    36氪获悉,中信建投认为,锂盐供应环比增长,现货供应相对充裕,终端汽

  • 民生
    • 倒计时10天!买车就等齐鲁车展

    • 强雷雨将至!广州多区发布“风雨预警”

    • 买债券入门基础知识?

    • 珍惜水资源作文400字漫画版(珍惜水资源作文400字)