“Docker 镜像瘦身优化容器优化”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
 
(未显示同一用户的22个中间版本)
第1行: 第1行:
 +
doccker 镜像优化瘦身
 +
可以从五个方面
  
 +
    基础镜像小
 +
    层级尽量少  一个RUN 就等于增加一层镜像
 +
    去除不必要
 +
    复用镜像层
 +
    分阶段构建
  
https://y0ngb1n.github.io/a/8df8f831.html
 
  
 +
 +
=os debian ubuntu 换为alpine  Alpine 作为基础镜像=
 +
 +
上次面试问 生产和测试环境 你有什么区别呢 是 .dockerignore  dockeringore ?
 +
 +
=去掉不要的扩展=
 +
 +
=减少层,去除非必要的文件=
 +
删除文件不要跨行
 +
 +
使用单行命令
 +
除了删除语句需要放在一行以外,由于层的机制,我们安装依赖的一些公共的语句最好也使用条RUN命令生成,减少最终的层数
 +
 +
分离依赖包,以及源代码程序,充分利用层的缓存
 +
这是一个最佳实践,在实际的开发过程中,我们的依赖包往往是变动不大的,但是我们正在开发的源码的变动是较为频繁,如果我们实际的代码只有 10M,但是依赖项有 1G, 如果在 COPY 的时候直接 COPY ... 会导致每次修改代码都会时这一层的缓存失效,导致浪费复制以及推送到镜像仓库的时间,将 COPY 语句分开,每次 push 就可以只变更我们频繁修改的代码层,而不是连着依赖一起
 +
 +
使用 .dockerignore
 +
在使用 Git 时,我们可以通过 .gitignore 忽略文件,在 docker build 的时候也可以使用 .dockerignore 在 Docker 上下文中忽略文件,这样不仅可以减少一些非必要文件的导入,也可以提高安全性,避免将一些配置文件打包到镜像中
 +
 +
=see also=
 +
https://zhuanlan.zhihu.com/p/360012769
 +
 +
[https://my.oschina.net/javaroad/blog/5267457 Docker 镜像优化:从 1.16 GB 到 22.4MB!怎么做到的]
 +
 +
[https://cloud.tencent.com/developer/article/1677332?from=article.detail.1175089 优化 Docker 镜像大小常见方法]
 +
 +
[https://blog.csdn.net/bbwangj/article/details/81088231 Docker之操作系统Alpine]
 +
 +
https://fuckcloudnative.io/posts/docker-images-part1-reducing-image-size/
 +
 +
[https://blog.csdn.net/diyiday/article/details/91439151 alpine之创建最小docker镜像]
 +
 +
[https://y0ngb1n.github.io/a/8df8f831.html Docker 镜像瘦身 & 优化]
 +
 +
[http://dockone.io/article/8163  精简Docker镜像的五种通用方法]
 +
 +
[https://zhuanlan.zhihu.com/p/360012769 Docker镜像瘦身]
 +
 +
[https://cloud.tencent.com/developer/article/1644791 优化docker镜像的几种方法]
 +
 +
[https://www.163.com/dy/article/FVQU0F1N0511D3QS.html Docker镜像优化:从1.16GB到22.4MB]
 +
 +
https://medium.com/the-agile-crafter/docker-image-optimization-from-1-16gb-to-22-4mb-53fdb4c53311
 +
 +
[https://www.infoq.cn/article/3-simple-tricks-for-smaller-docker-images 三个技巧,将 Docker 镜像体积减小 90%]
 +
 +
[https://zhuanlan.zhihu.com/p/38552260 Docker最佳实践:构建最小镜像]
 +
 +
[https://gitlib.com/page/docker-image-optimize.html Docker镜像优化]
 +
 +
[http://www.dockerinfo.net/3328.html 7 步精简 Docker 镜像几百MB(上)]
  
 
  [[category:Container]]
 
  [[category:Container]]

2021年9月26日 (日) 08:22的最新版本

doccker 镜像优化瘦身 可以从五个方面

   基础镜像小
   层级尽量少  一个RUN 就等于增加一层镜像
   去除不必要
   复用镜像层
   分阶段构建


os debian ubuntu 换为alpine Alpine 作为基础镜像

上次面试问 生产和测试环境 你有什么区别呢 是 .dockerignore dockeringore ?

去掉不要的扩展

减少层,去除非必要的文件

删除文件不要跨行

使用单行命令 除了删除语句需要放在一行以外,由于层的机制,我们安装依赖的一些公共的语句最好也使用条RUN命令生成,减少最终的层数

分离依赖包,以及源代码程序,充分利用层的缓存 这是一个最佳实践,在实际的开发过程中,我们的依赖包往往是变动不大的,但是我们正在开发的源码的变动是较为频繁,如果我们实际的代码只有 10M,但是依赖项有 1G, 如果在 COPY 的时候直接 COPY ... 会导致每次修改代码都会时这一层的缓存失效,导致浪费复制以及推送到镜像仓库的时间,将 COPY 语句分开,每次 push 就可以只变更我们频繁修改的代码层,而不是连着依赖一起

使用 .dockerignore 在使用 Git 时,我们可以通过 .gitignore 忽略文件,在 docker build 的时候也可以使用 .dockerignore 在 Docker 上下文中忽略文件,这样不仅可以减少一些非必要文件的导入,也可以提高安全性,避免将一些配置文件打包到镜像中

see also

https://zhuanlan.zhihu.com/p/360012769

Docker 镜像优化:从 1.16 GB 到 22.4MB!怎么做到的

优化 Docker 镜像大小常见方法

Docker之操作系统Alpine

https://fuckcloudnative.io/posts/docker-images-part1-reducing-image-size/

alpine之创建最小docker镜像

Docker 镜像瘦身 & 优化

精简Docker镜像的五种通用方法

Docker镜像瘦身

优化docker镜像的几种方法

Docker镜像优化:从1.16GB到22.4MB

https://medium.com/the-agile-crafter/docker-image-optimization-from-1-16gb-to-22-4mb-53fdb4c53311

三个技巧,将 Docker 镜像体积减小 90%

Docker最佳实践:构建最小镜像

Docker镜像优化

7 步精简 Docker 镜像几百MB(上)