为了实现CI/CD,先来定制一个Docker镜像
背景
计划把手头的项目逐步改造为基于Docker容器的方式发布,同时,项目中已经采用了云厂商提供的CI/CD自动化发布流水线。因此,为配合CI/CD操作,需要先针对项目构建一些发布的脚本,通过脚本来操作Docker镜像定制、Docker的启动和停止。
在阅读和实践本篇文章之前,如果你还未搭建Docker的环境,可参考上篇文章《Linux安装Docker完整教程》,先把整个环境搭建起来,同时熟悉一下Docker的基本操作命令。
这篇文章就配合具体的实践案例来为大家讲讲如何定制一个Docker镜像,并通过脚本来执行镜像的构建、项目的发布、容器的启动与停止等。
什么是Dockerfile?
Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。常见的指令比如有:FROM、RUN、ADD、COPY、CMD、ENV等。
在镜像构建时,需要注意的一点是:镜像的构建是一层层构建的,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。
像上面提到的指令,每一次操作都会构建一层。比如删除前一层的文件,在最终容器运行时,虽然看不到这个文件,但是实际上该文件会一直跟随镜像。因此,在构建镜像时,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。
另外,为了减少构建层的数量,在编写Dockerfile文件时尽量将多层的指令合并成一层执行,比如两个RUN命令可以通过
THE END