当前位置: 移动技术网 > 科技>操作系统>Linux > Dockfile 生成docker镜像文件大小的比较

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

2019年09月15日  | 移动技术网科技  | 我要评论

下面就是我针对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

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网