dockerfile的优化

1300人浏览 / 0人评论

一、dockerfile优化

使用体积小的linux镜像alpine

尽可能的清理无用的缓存文件(尽可能的把多个run合并)

修改dockerfile的时候,尽可能吧修改的内容放在在后面

使用dockerignore忽略构建docker镜像时,不需要的文件。

二、发型版

alpine体积最小的linux发型版  5M  =====alpine小是因为c语言编译库 musl libc,会占用空间很少,但是很多软件不能兼容musl libc。   例如安装oracle  jdk就不行,使用centos的就可以。大部分还是可以的。 apk安装。

进入alpine先到清华源换源,然后apk update更新。

安装nginx:apk add nginx

只有8.45M

 

centos    200M  

三、清理无用的缓存

合并run前

合并后,因为yum有缓存,安装完nginx之后清理缓存。

清理完后少了100M

======

不合并并清理yum缓存

还大了20M+

 

四、尽可能的把修改文件的操作放在最后

尽量让安装的命令放在前面,这样可以走缓存。如果把修复的命令放在前面就不能走缓存了。

如果把修改的操作放在前面,最重新建立一个分支的。

 

五、使用dockerignore忽略构建docker镜像时,不需要的文件。

执行docker build构建的时候,会把本地的所有文件都上传给客户端。  将不使用的tar包或者文件写入到本地地目录的文件 .dockerignore中。这样就不会发送了

全部评论