猿问

制作dockerfile的流程

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

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

  • docker run一个基本的Ubuntu镜像

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

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

  • ....

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

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


开满天机
浏览 1195回答 2
2回答

阿晨1998

通过参考docker hub上现成的dockerfile 再根据自己的需求修改,这样的效率会更高一些,从头写dockerfile只能按照楼上的兄弟那样操作了,我称之为“录像机”方式。

偶然的你

很正确呀。假如你非常熟悉所有的流程,自然可以直接编写Dockerfile。但这种事情基本不能绝对的保证,特别是Docker的基础系统镜像大多都非常精简,一些软件的依赖包都需要进行下载安装,所以自己通过容器实践一次搭建的过程虽然有些耗时,但相对来说反而要比空想写Dockerfile要节约时间。通常来说编写Dockerfile是这样一个流程:通过容器预演安装过程,记录下搭建命令对安装命令进行汇总、优化,编写Dockerfile尝试使用Dockerfile构建镜像,检查是否存在问题通过构建的镜像建立容器,确保其中的程序能够正确使用
随时随地看视频慕课网APP
我要回答