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

Contact

Contact me: weihanli@outlook.com

相关文章:

  • 2021-07-25
  • 2021-12-03
  • 2022-12-23
  • 2021-12-05
  • 2021-12-26
猜你喜欢
  • 2022-12-23
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2021-07-19
  • 2021-10-24
相关资源
相似解决方案