linux怎么查看本机内存大小
257
2022-10-27
Docker 学习笔记 -优化 Dockerfile
前面学习了dockerfile的基本语法,下面看看如何优化。基本原则是
1:尽可能选择体积小linux,比如 alpine 只有5M, 而Centos有200M
2:尽可能合并RUN指令,清理无用的文件(yum缓存,源码包), 比如说多条shell命令可以通过 && \ 连接起来,这样避免每次执行一个命令都生成临时的容器和镜像;对于yum的缓存,使用 yum clean all清空
3:修改dockerfile,把变化的内容尽可能放在dockerfile结尾,比如各种ADD 操作等等
4: 使用.dockerignore,减少不必要的文件,过滤掉不需要的文件
现在看个简单的例子
下面这个是之前的例子
FROM centos:6.9 RUN yum install epel-release -y RUN yum install tomcat -y WORKDIR /var/lib/tomcat/webapps/ ADD xiaoniao ./xiaoniao RUN mv xiaoniao ROOT RUN yum install openssh-server -y ENV SSH_PWD='12345' EXPOSE 8080 22 ADD init.sh /init.sh ENTRYPOINT ["/bin/bash","/init.sh"]
简单的修改,合并一下
FROM centos:6.9 RUN yum install epel-release -y && \ yum install tomcat -y && \ yum install openssh-server -y && \ yum clean all WORKDIR /var/lib/tomcat/webapps/ ADD xiaoniao ./xiaoniao RUN mv xiaoniao ROOT ENV SSH_PWD='12345' EXPOSE 8080 22 ADD init.sh /init.sh ENTRYPOINT ["/bin/bash","/init.sh"]
创建一个新的镜像
[root@ip-172-16-1-150 dockerfile]# docker image build -t centos6.9_tomcat:v6 --network=host . Sending build context to Docker daemon 438.8kB Step 1/9 : FROM centos:6.9 ---> 2199b8eb8390 Step 2/9 : RUN yum install epel-release -y && yum install tomcat -y && yum install openssh-server -y && yum clean all ---> Using cache ---> e8c11a442254 Step 3/9 : WORKDIR /var/lib/tomcat/webapps/ ---> Using cache ---> 3f4fe8ee6112 Step 4/9 : ADD xiaoniao ./xiaoniao ---> Using cache ---> 6a8d494b3e87 Step 5/9 : RUN mv xiaoniao ROOT ---> Using cache ---> 467b0671581f Step 6/9 : ENV SSH_PWD='12345' ---> Using cache ---> de09ae799bd2 Step 7/9 : EXPOSE 8080 22 ---> Using cache ---> 1dde747ac5fa Step 8/9 : ADD init.sh /init.sh ---> Using cache ---> 5fb4544a9ca1 Step 9/9 : ENTRYPOINT ["/bin/bash","/init.sh"] ---> Using cache ---> c482d44ab04a Successfully built c482d44ab04a Successfully tagged centos6.9_tomcat:v6
另外,有的时候,我们可能会在dockerfile所在的目录下放了一些其他的文件,这些文件和我们build docker image毫无关系,但是当我build的时候,他会自动把所有的文件都一起加载,这样浪费时间,因此我们可以把一些不用的文件忽略掉
手动创建一个隐藏文件,添加需要忽略的文件或文件夹
[root@ip-172-16-1-150 dockerfile]# cat .dockerignore saolei
再跑一次,发现文件尺寸就变小了
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~