首页 > 开发 > 云计算 > 正文

制作dockerfile的流程

2017-09-12 09:51:29  来源: 网友分享

最近看了一些Docker相关的知识,对制作dockerfile的流程有一些不明白的地方。

假如要制作一个基于Ubuntu的包含Nginx、MySQL、PHP等服务的dockerfile,我现在的流程是:

  • docker run一个基本的Ubuntu镜像

  • 更新系统依赖包,如:apt-get update,在文本文档记录执行的命令

  • 安装Nginx,在文本文档记录安装Nginx执行的步骤

  • ....

等于说是先把流程跑一遍,记录下所有执行的命令,然后再把这些步骤复制到dockerfile里。

个人感觉这样做是不对的,请问大家都是怎么做的??

解决方案

很正确呀。假如你非常熟悉所有的流程,自然可以直接编写Dockerfile。但这种事情基本不能绝对的保证,特别是Docker的基础系统镜像大多都非常精简,一些软件的依赖包都需要进行下载安装,所以自己通过容器实践一次搭建的过程虽然有些耗时,但相对来说反而要比空想写Dockerfile要节约时间。

通常来说编写Dockerfile是这样一个流程:

  1. 通过容器预演安装过程,记录下搭建命令

  2. 对安装命令进行汇总、优化,编写Dockerfile

  3. 尝试使用Dockerfile构建镜像,检查是否存在问题

  4. 通过构建的镜像建立容器,确保其中的程序能够正确使用