dockerfile-maven-plugin的使用教程-创新互联
这篇文章将为大家详细讲解有关dockerfile-maven-plugin的使用教程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司是专业的黄平网站建设公司,黄平接单;提供成都网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行黄平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!一、简介
maven是一个项目依赖管理和构建的工具,dockerfile-maven-plugin是一个maven的插件,主要作用是在项目构建的时候生成基于项目的docker镜像文件。
简而言之,此插件将maven和docker进行集成。
正常情况下,我们在开发了一个应用程序后,会使用maven进行打包,生成对应的jar文件。而后,会使用docker将jar文件build成一个镜像(docker image)。之后,就可以在docker daemon中创建基于镜像的容器,并可提供服务了。
dockerfile-maven-plugin的目标就是将maven的打包过程和docker的build过程结合在一起,当成功打包,既生成了对应的jar,也已生成了对应的docker镜像。当然,这只是最基础的功能,更详细的功能参见:https://github.com/spotify/dockerfile-maven
二、概述
我们知道maven是apache公司开发的一个产品,但是dockerfile-maven-plugin并不是apache官方开发的插件,是由一个叫做Spotify的组织开发的。
github主页:https://spotify.github.io/
github开源地址:https://github.com/spotify/dockerfile-maven
本文仅讨论如何基于一个Spring Boot的项目生成对应的docker镜像。
基本的原理如下:
- 首先,dockerfile-maven-plugin插件已经存储在maven的仓库中
- 然后,当在本地开发的时候,需要在项目的pom文件中引入此插件,在pom-build-plugins下面增加plugin配置节点
- 再然后,在executions节点中配置此插件如何工作;并且在configuration节点中加入需要的配置信息
- 最后,当我们执行mvn package的时候就可以得到docker image 了
环境:
- Ideal版本:2020.01
- java版本:8
- maven版本:3.6.1
- docker版本:19.03.12
ideal和docker deamon运行在同一台机器上面
三、将spring-boot-app打包成docker镜像
创建示例应用
使用ideal自带的Spring Initializr生成一个Spring Web 的示例项目
app对外提供一个hello的接口,访问该接口可以得到Hello,World的响应结果。应用主启动类代码如下:
package com.naylor.dockerfilemavenplugin; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/") @SpringBootApplication public class DockerfileMavenPluginApplication { public static void main(String[] args) { SpringApplication.run(DockerfileMavenPluginApplication.class, args); } @GetMapping("/hello") public String hello(){ return "Hello,World"; } }
新闻名称:dockerfile-maven-plugin的使用教程-创新互联
文章地址:http://hbruida.cn/article/hpecp.html