加入收藏 | 设为首页 | 会员中心 | 我要投稿 泉州站长网 (https://www.0595zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

用Dockerfile创建docker image

发布时间:2022-05-24 12:37:16 所属栏目:云计算 来源:互联网
导读:dockerfile是为快速构建docker image而设计的,当你使用docker build 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文件并执行里面的指令构建出一个docker image。 而另一种构建docker iamge 的方法是pull一些基础镜像下来启
         dockerfile是为快速构建docker image而设计的,当你使用docker build 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文件并执行里面的指令构建出一个docker image。
 
         而另一种构建docker iamge 的方法是pull一些基础镜像下来启动成容器,然后进入容器内安装各种需要的程序以及配置好需要的环境,最后commit成一个镜像。但是相比之 Dockerfile的方法会更加自动化,更加方便快捷,而且功能也更强大。(Docker build方法底层里也是在基础镜像下启动容器然后commit的,但是这些不需要我们手动去commit以及rm,都是自动化的。)
 
         首先,是关于构建docker image的一些优化建议
 
         我们希望构建出的image对应的容器应该是可以在服务群中暂停(解耦性)并且快速替换,这要求容器可以在极短的时间内完成启动并配置运行起来。
 
优化手段:
 
使用.dockerignore文件 .
 
dockerignore文件的设计是为了在docker build的过程中排除不需要用到的文件以及目录,目的是为了docker build这个过程可以尽可能地快速高效以及构建出来的image没有多余的“垃圾”。
 
最小化镜像层数(layers)
 
关于镜像层数(layers)的概念请参考:docker镜像与容器存储结构分析http://www.programfish.com/blog/?p=9
 
把镜像层数减到最少可能加快容器的启动速度,但是这里也要权衡另一个问题:dockerfile的可读性。你可以把一个dockerfile写得很 复杂以达到构建出最小层数的镜像,但同时你的dockerfile可读性也降低了。所以我们要在镜像层数和dockerfile可读性之间做出让步与妥 协。

(编辑:泉州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!