如何提高Docker镜像构建速度?

Docker是一个开源的应用容器引擎,将应用以及依赖打包到一个可移植的镜像中,部署到服务器并运行在Container容器实例中。


在构建Docker镜像时,需要运行mvn package打包Spring Boot项目,是不是下载依赖库很慢导致整个构建过程很长?分享一个巧妙的解决方法。

image.png

1,Dockerfile配置是核心

Dockerfile是镜像描述文件,包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。Dockerfile基本结构:

- 基础镜像

- 维护者信息

- 镜像构建指令

- 容器启动时执行指令


构建Docker镜像时,为了解决mvn下载依赖库速度慢、用时长的问题,将构建过程拆分为两步:

1) Dockerfile_base为了触发mvn下载依赖库,构建一个空的Spring Boot项目,用时约10分钟,在项目周期中很少改动,只需维护pom.xml

image.png

2) Dockerfile依赖Dockerfile_base,拉取源代码和编译打包jar文件,用时约3分钟,每次代码更新时构建Docker镜像,速度非常快了。

image.png

2,增加Dockerfile_ce社区版

依赖本地开发环境,将编译好的项目运行文件打包进Docker镜像,多用于本地开发测试,快速构建。

image.png

实例Dockerfile下载:https://github.com/jextop/StarterDeploy

专栏:https://blog.51cto.com/cloumn/detail/90


猜你喜欢

转载自blog.51cto.com/13851865/2476158