dockerfile-maven-plugin的使用教程-创新互联-古蔺大橙子建站
RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
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://scgulin.cn/article/hpecp.html