k8s学习记录,制作docker镜像,优化dockerfile(四)
文章中资料参考来源2022 云原生Kubernetes全栈架构师
1、不要使用centos7的基础镜像,太大了
可以使用 alpine、busybox、scratch、debian的镜像
如果需要使用glibc,可以使用 node:slim, python:slim的镜像
2、使用多阶段构建镜像
编译操作和生成最终镜像的操作【多个FROM】
第一个FROM是编译源码,第二个FROM是将编译生成的可执行文件放在alpine:3.10的镜像中执行,可以看下第一次编译生成的镜像文件和第二次存放可执行文件的镜像大小的区别
当有多个FROM步骤时,可以使用as来对步骤重命名
3、也可以使用scratch空镜像来制作镜像【当使用其他动态库时则需要将使用到的文件拷贝至镜像文件中,不推荐使用scratch来做】
空镜像不用pull,直接在Dockerfile中写即可