dockerfile 增量发布
背景:
项目中使用了k8s环境,每次更新都要打包成docker镜像推到harbor仓库。 之前每次都是全量发布,即在本地把要更新的文件都替换好,然后整个包重新打成镜像。
问题:
一个项目有时并不是只有一个人维护,本地不一定是最新的文件,存在漏更新的风险。
每次都要重新打包整个项目,速度比较慢。
解决方案:
先把服务器上最新版本的镜像拉取到本地,docker命令:docker pull 192.168.1.8/patrol-svr/patrol-svr:v1.01
以本地最新的镜像为基础,进行相应的更新与复制操作。
dockerfile文件内容如下:
FROM 192.168.1.8/patrol-svr/patrol-svr:v1.01
COPY module /usr/local/pipenet-docker-patrol/module
Add module1 /usr/local/pipenet-docker-patrol/
备注:
COPY 命令,将文件或文件夹复制到相应路径,并覆盖替换相应文件内容。 Add 命令, 将文件或文件夹增加到相应路径。
缺陷:
对于镜像中的内容,无法进行删除,如果需要删除镜像中的某个文件,则还是用全量发布的形式。
作者:hoho_12
链接:https://juejin.cn/post/7023682143117115400