maven實(shí)現(xiàn)docker自動(dòng)化部署插件的使用
構(gòu)建開(kāi)發(fā)項(xiàng)目
首先打開(kāi)我們的IDEA構(gòu)建一個(gè)我們的開(kāi)發(fā)項(xiàng)目,配置如下:

接著打開(kāi)我們的pom.xml修改build的配置,修改以后的代碼如下:
<build>
<finalName>docker-automation-demo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.github.lazyBoyl</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0-release</version>
<configuration>
<!-- 需要上傳到服務(wù)器的jar包所在的位置 -->
<jarTargetPath>${basedir}/target/docker-automation-demo.jar</jarTargetPath>
<!-- 創(chuàng)建鏡像的dockerFile的本地配置文件的路徑 -->
<dockerFilePath>${basedir}/dockerFile/Dockerfile</dockerFilePath>
<!-- 我們的dockerFile文件和相應(yīng)的jar包的文件上傳到服務(wù)器的路徑 -->
<dockerImagesPath>/home/app/docker/test/</dockerImagesPath>
<!-- 該工程啟動(dòng)的時(shí)候的日志文件的掛載,前面的為本地的服務(wù)器的路徑,分號(hào)后面的為docker容器中的文件路徑 -->
<containerRunShare>/home/app/logs/docker-plugin-test/log/:/app/www/logs/docker-plugin-test/log/</containerRunShare>
<!-- 該工程啟動(dòng)的時(shí)候的端口映射,多個(gè)端口那就對(duì)應(yīng)著啟動(dòng)多少個(gè)容器 -->
<containerRunPorts>
<containerRunPort>8088:8088</containerRunPort>
</containerRunPorts>
<options>
<!-- 服務(wù)器的ip:端口,賬號(hào),密碼 -->
<option>
10.10.10.114:22,root,123456
</option>
</options>
</configuration>
<executions>
<execution>
<!-- 設(shè)置該插件的執(zhí)行的生命周期為package完成以后執(zhí)行,若不想綁定就將executions這塊的代碼注釋了,后面就不會(huì)在打包好以后再去執(zhí)行docker插件的操作 -->
<phase>package</phase>
<goals>
<!--phase與goal是綁定的關(guān)系,當(dāng)g到達(dá)了phase階段的時(shí)候就會(huì)去執(zhí)行g(shù)oal,此處的值固定為dockerMavenPlugin,因?yàn)椴寮o予他的名字就是dockerMavenPlugin -->
<goal>dockerMavenPlugin</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
接著我們?cè)谖覀兊闹魅肟陬惖耐?jí)目錄底下創(chuàng)建一個(gè)controller包,同時(shí)在該目錄底下創(chuàng)建一個(gè)測(cè)試的TestController.java的測(cè)試入口類,代碼如下:
package com.docker.automation.demo.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @author linzf
* @since 2019/5/28
* 類描述:
*/
@RestController
@RequestMapping("/test")
public class TestController {
private Logger logger = LoggerFactory.getLogger(TestController.class);
/**
* 功能描述:實(shí)現(xiàn)消息的發(fā)送
*
* @param msg 前端發(fā)送的消息
* @return 返回結(jié)果
*/
@GetMapping("sendMsg")
public String sendMsg(@RequestParam("msg") String msg) {
logger.debug("收到請(qǐng)求過(guò)來(lái)的消息:{}", msg);
return msg;
}
}
最后記得在application.yml里面配置上我們的端口未8088
配置dockerFile的配置文件
接著在工程的src的同級(jí)目錄創(chuàng)建一個(gè)dockerFile文件夾,同時(shí)在該文件夾底下創(chuàng)建一個(gè)Dockerfile文件

接著打開(kāi)DockerFile配置文件配置信息如下:
FROM base-jdk MAINTAINER linzf <282245889@qq.com> RUN mkdir -p /app/www/logs/docker-automation-demo/log/ RUN mkdir -p /home/app/ ADD docker-automation-demo.jar /home/app/app.jar CMD java -jar -Xms128m -Xmx1536m /home/app/app.jar
到此處我們就完成了我們的工程的docker的配置,如何創(chuàng)建基礎(chǔ)鏡像、如何部署docker這些大家可以直接看我的docker系列文章:https://blog.csdn.net/linzhefeng89/article/details/78413387
最后我們直接點(diǎn)擊我們IDEA的package命令進(jìn)行打包,那么我們的maven插件會(huì)自動(dòng)幫我們將我們的包打包部署到我們的docker容器中。

接著我們直接訪問(wèn)我們的微服務(wù)的地址:http://10.10.10.114:8088/test/sendMsg?msg=wytuy
到此為止我們就完成了我們的自動(dòng)化部署插件的講解,具體代碼請(qǐng)查看github的地址:
https://github.com/lazyboyl/docker-automation-demo
到此這篇關(guān)于maven實(shí)現(xiàn)docker自動(dòng)化部署插件的使用的文章就介紹到這了,更多相關(guān)maven docker自動(dòng)化部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Spring Boot搭建Java web項(xiàng)目及開(kāi)發(fā)過(guò)程圖文詳解
這篇文章主要介紹了使用Spring Boot搭建Java web項(xiàng)目及開(kāi)發(fā)過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Mybatis以main方法形式調(diào)用dao層執(zhí)行代碼實(shí)例
這篇文章主要介紹了Mybatis以main方法形式調(diào)用dao層執(zhí)行代碼實(shí)例,MyBatis 是一款優(yōu)秀的持久層框架,MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作,需要的朋友可以參考下2023-08-08
jfinal添加jcaptcha驗(yàn)證碼實(shí)現(xiàn)方法
這篇文章主要介紹了jfinal的jcaptcha驗(yàn)證碼實(shí)現(xiàn)方法,大家參考使用吧2014-01-01
KafkaListener注解的實(shí)現(xiàn)機(jī)制源碼解析
這篇文章主要為大家介紹了KafkaListener注解的實(shí)現(xiàn)機(jī)制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Spring?Cloud?Gateway編碼實(shí)現(xiàn)任意地址跳轉(zhuǎn)的示例
本文主要介紹了Spring?Cloud?Gateway編碼實(shí)現(xiàn)任意地址跳轉(zhuǎn)的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12

