加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

精简你的 docker 镜像

发布时间:2020-12-15 02:16:46 所属栏目:C语言 来源:网络整理
导读:精简你的 docker 镜像 Intro 现在 docker 的使用越来越普遍,今天来谈一下如何精简你的 docker 镜像 为什么要精简 docker 首先来说说为什么要精简 docker 镜像,减小了之后有什么样的好处? 较小的 docker 镜像下载更快,对于网络不太好的童鞋大镜像简直就是

精简你的 docker 镜像

Intro

现在 docker 的使用越来越普遍,今天来谈一下如何精简你的 docker 镜像

为什么要精简 docker

首先来说说为什么要精简 docker 镜像,减小了之后有什么样的好处?

  1. 较小的 docker 镜像下载更快,对于网络不太好的童鞋大镜像简直就是灾难
  2. 较小的 docker 镜像可以更快的部署

如何精简镜像

  1. 选择更小的基础镜像,比如基于 alpine 的基础镜像

    你的镜像是在你选择的基础镜像之上构建的,所以如果你的基础镜像就很大,那么你最后生成的 docker 镜像也不会小

  2. 多阶段构建,将编译和部署放在不同的阶段,只保留最后要部署的镜像即可

    将一些编译的过程和编译需要的环境通过一个中间镜像去完成,而最后生成的镜像只需要包含自己运行所需的运行时环境就可以了,比如说 asp.net core 项目,dotnet core sdk 只需要编译生成的时候需要,实际打包用于部署的应用只需要 dotnet core 的 runtime 就可以了。

  3. 尽量减少 docker 构建提交,比如多个命令写在一起,链式命令,通过一次 docker 的 commit 执行多条命令

    将多个命令写写在一行,链式命令,如果命令很复杂的话也可以通过执行一个脚本,这样可以减少 docker 镜像构建的层,也会减少镜像的大小

Reference

  • http://www.infoq.com/cn/articles/3-simple-tricks-for-smaller-docker-images
  • https://zhuanlan.zhihu.com/p/35148190

Contact

Contact me: weihanli@outlook.com

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读