ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dockfile 生成docker镜像文件大小的比较

2019-09-14 19:03:04  阅读:236  来源: 互联网

标签:镜像文件 Dockfile usr ENV HOME jenkins docker local


下面就是我针对docker file同一个文件,按照layer层的个数的多少,分别构建了两个镜像的jenkins-master。两者大小相差300MB。

 

<1> layer层数太多,没有将命令合并为一条命令

FROM jenkins/jenkins:2.194
MAINTAINER tiandong19860806@126.com
USER root

ENV MAVEN_HOME /usr/local/maven
ENV JAVA_HOME  /usr/local/java
ENV M2=/usr/local/maven/repository
ENV CLASSPATH .:$JAVA_HOME/lib:$M2_HOME/lib
ENV PATH $MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH

RUN mkdir -p /usr/local/java
RUN mkdir -p /usr/local/maven/repository

COPY soft/apache-maven-3.5.4/*   /usr/local/
COPY soft/jre1.8.0_212/*   /usr/local/java/

 

<2> layer层数很少,将全部命令合并为一条命令

FROM jenkins/jenkins:2.194
MAINTAINER tiandong19860806@126.com

USER root && \
ENV MAVEN_HOME /usr/local/maven && \
ENV JAVA_HOME  /usr/local/java && \
ENV M2 /usr/local/maven/repository && \
ENV CLASSPATH .:$JAVA_HOME/lib:$M2_HOME/lib && \
ENV PATH $MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH && \

RUN mkdir -p /usr/local/java && \
RUN mkdir -p /usr/local/maven/repository && \

COPY soft/apache-maven-3.5.4/*   /usr/local/ && \
COPY soft/jre1.8.0_212/*   /usr/local/java/

 

然后,分别执行构建命令

root >> cd /opt/dockerfile/jenkins/02/

root >> docker build -f /opt/dockerfile/jenkins/02/jenkins-master-01.Dockerfile . -t registry.cn-hangzhou.aliyuncs.com/kevin_docker_registry/mirror_k8s_jenkins-master:2.194

root >> docker build -f /opt/dockerfile/jenkins/02/jenkins-master-02.Dockerfile . -t registry.cn-hangzhou.aliyuncs.com/kevin_docker_registry/mirror_k8s_jenkins-master:2.194-test

 

 

 

 

最后,我们检查结果

发现第二个dockerfile生成的镜像文件大小要比前者体积小300MB。

root >> docker images

 

 

 

附录:

如果需要,我们还可以将生成好的jenkins-master提交到阿里云的仓库,命令参考如下

root >> docker login --username=kevin@1522315893340281 registry.cn-hangzhou.aliyuncs.com/kevin_docker_registry/mirror_k8s_jenkins-master root >> docker tag db8450d6f4f0 registry.cn-hangzhou.aliyuncs.com/kevin_docker_registry/mirror_k8s_jenkins-master:2.194 root >> docker push registry.cn-hangzhou.aliyuncs.com/kevin_docker_registry/mirror_k8s_jenkins-master:2.194

 

上传完毕后,登录阿里云仓库,查看镜像版本,如下

 

参考资料

https://www.cnblogs.com/ericnie/p/7991218.html

 

 

标签:镜像文件,Dockfile,usr,ENV,HOME,jenkins,docker,local
来源: https://www.cnblogs.com/itshare/p/11519836.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有