docker进阶教程之dockerfile优化镜像大小

Fredrica ·
更新时间:2024-06-01
· 1340 次阅读

目录

一、无优化构建镜像

二、不需要输出的指令丢入/dev/null

三、减少RUN构建

四、多阶段构建

五、使用更为轻量级的linux发行版本 

总结

一、无优化构建镜像 mkdir /mnt/nginx vim Dockerfile FROM centos:7 RUN yum install -y gcc pcre pcre-devel devel zlib-devel make ADD nginx-1.22.0.tar.gz /mnt/nginx WORKDIR /mnt/nginx/nginx-1.22.0 #关闭debug日志 RUN sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc  RUN ./configure --prefix=/usr/local/nginx  RUN make RUN make install EXPOSE 80 VOLUME ["/usr/local/nginx/html"] CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]  

二、不需要输出的指令丢入/dev/null FROM centos:7 RUN yum install -y gcc pcre pcre-devel devel zlib-devel make &> /dev/null && yum clean all ADD nginx-1.22.0.tar.gz /mnt/nginx WORKDIR /mnt/nginx/nginx-1.22.0 RUN sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc RUN ./configure --prefix=/usr/local/nginx &> /dev/null RUN make &> /dev/null RUN make install &> /dev/null RUN rm -rf /mnt/nginx/nginx-1.22.0 EXPOSE 80 VOLUME ["/usr/local/nginx/html"] CMD ["/usr/local/nginx/sbin/nginx""-g","daemon off;"]

三、减少RUN构建 FROM centos:7 ADD nginx-1.22.0.tar.gz /mnt/nginx WORKDIR /mnt/nginx/nginx-1.22.0 RUN yum install -y gcc pcre pcre-devel devel zlib-devel make &> /dev/null && \  yum clean all && \  sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && \  ./configure --prefix=/usr/local/nginx &> /dev/null && \  make &> /dev/null && make install &> /dev/null &&\  rm -rf /mnt/nginx/nginx-1.22.0 EXPOSE 80 VOLUME ["/usr/local/nginx/html"] CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]

docker build -t nginx:v3 . 构建镜像

docker images查看镜像

四、多阶段构建 FROM centos:7 as build  ADD nginx-1.22.0.tar.gz /mnt/nginx  WORKDIR /mnt/nginx/nginx-1.22.0 RUN yum install -y gcc pcre pcre-devel devel zlib-devel make &> /dev/null && \ yum clean all &&\ sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && \ ./configure --prefix=/usr/local/nginx &> /dev/null && \ make &>/dev/null && \ make install &>/dev/null && \ rm -rf /mnt/nginx/nginx-1.22.0 FROM centos:7 EXPOSE 80 VOLUME ["/usr/local/nginx/html"] COPY --from=build /usr/local/nginx /usr/local/nginx CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"] docker build -t nginx:v4 . 构建镜像 docker images查看镜像

五、使用更为轻量级的linux发行版本 

debian
alpine
apt add
Sandbox
Busybox

#下载debian压缩包 wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz docker import debian-7.0-x86-minimal.tar.gz -- debian:v1 生成镜像 docker images 查看 总结

到此这篇关于docker进阶教程之dockerfile优化镜像大小的文章就介绍到这了,更多相关dockerfile优化镜像大小内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



dockerfile 镜像 Docker 教程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号