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

一、无优化构建镜像

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;”]  

%docker进阶教程之dockerfile优化镜像大小-猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-1猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-2猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-3猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-4猿站网-插图

二、不需要输出的指令丢入/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;”]

%docker进阶教程之dockerfile优化镜像大小-5猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-6猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-7猿站网-插图

三、减少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进阶教程之dockerfile优化镜像大小-8猿站网-插图

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

docker images查看镜像

%docker进阶教程之dockerfile优化镜像大小-9猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-10猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-11猿站网-插图

四、多阶段构建

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查看镜像

%docker进阶教程之dockerfile优化镜像大小-12猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-13猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-14猿站网-插图

%docker进阶教程之dockerfile优化镜像大小-15猿站网-插图

五、使用更为轻量级的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优化镜像大小内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/m0_71521555/article/details/127406616

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:ups是什么

2023-3-2 22:52:05

建站知识

小知识:m3u8是什么格式

2023-3-2 22:57:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索