一、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中。这样就不会发送了
有问题请加博主微信进行沟通!
全部评论