maven實現(xiàn)docker自動化部署插件的使用
構(gòu)建開發(fā)項目
首先打開我們的IDEA構(gòu)建一個我們的開發(fā)項目,配置如下:
接著打開我們的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> <!-- 需要上傳到服務器的jar包所在的位置 --> <jarTargetPath>${basedir}/target/docker-automation-demo.jar</jarTargetPath> <!-- 創(chuàng)建鏡像的dockerFile的本地配置文件的路徑 --> <dockerFilePath>${basedir}/dockerFile/Dockerfile</dockerFilePath> <!-- 我們的dockerFile文件和相應的jar包的文件上傳到服務器的路徑 --> <dockerImagesPath>/home/app/docker/test/</dockerImagesPath> <!-- 該工程啟動的時候的日志文件的掛載,前面的為本地的服務器的路徑,分號后面的為docker容器中的文件路徑 --> <containerRunShare>/home/app/logs/docker-plugin-test/log/:/app/www/logs/docker-plugin-test/log/</containerRunShare> <!-- 該工程啟動的時候的端口映射,多個端口那就對應著啟動多少個容器 --> <containerRunPorts> <containerRunPort>8088:8088</containerRunPort> </containerRunPorts> <options> <!-- 服務器的ip:端口,賬號,密碼 --> <option> 10.10.10.114:22,root,123456 </option> </options> </configuration> <executions> <execution> <!-- 設置該插件的執(zhí)行的生命周期為package完成以后執(zhí)行,若不想綁定就將executions這塊的代碼注釋了,后面就不會在打包好以后再去執(zhí)行docker插件的操作 --> <phase>package</phase> <goals> <!--phase與goal是綁定的關(guān)系,當g到達了phase階段的時候就會去執(zhí)行g(shù)oal,此處的值固定為dockerMavenPlugin,因為插件給予他的名字就是dockerMavenPlugin --> <goal>dockerMavenPlugin</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
接著我們在我們的主入口類的同級目錄底下創(chuàng)建一個controller包,同時在該目錄底下創(chuàng)建一個測試的TestController.java的測試入口類,代碼如下:
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); /** * 功能描述:實現(xiàn)消息的發(fā)送 * * @param msg 前端發(fā)送的消息 * @return 返回結(jié)果 */ @GetMapping("sendMsg") public String sendMsg(@RequestParam("msg") String msg) { logger.debug("收到請求過來的消息:{}", msg); return msg; } }
最后記得在application.yml里面配置上我們的端口未8088
配置dockerFile的配置文件
接著在工程的src的同級目錄創(chuàng)建一個dockerFile文件夾,同時在該文件夾底下創(chuàng)建一個Dockerfile文件
接著打開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)建基礎鏡像、如何部署docker這些大家可以直接看我的docker系列文章:https://blog.csdn.net/linzhefeng89/article/details/78413387
最后我們直接點擊我們IDEA的package命令進行打包,那么我們的maven插件會自動幫我們將我們的包打包部署到我們的docker容器中。
接著我們直接訪問我們的微服務的地址:http://10.10.10.114:8088/test/sendMsg?msg=wytuy
到此為止我們就完成了我們的自動化部署插件的講解,具體代碼請查看github的地址:
https://github.com/lazyboyl/docker-automation-demo
到此這篇關(guān)于maven實現(xiàn)docker自動化部署插件的使用的文章就介紹到這了,更多相關(guān)maven docker自動化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Spring Boot搭建Java web項目及開發(fā)過程圖文詳解
這篇文章主要介紹了使用Spring Boot搭建Java web項目及開發(fā)過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06Mybatis以main方法形式調(diào)用dao層執(zhí)行代碼實例
這篇文章主要介紹了Mybatis以main方法形式調(diào)用dao層執(zhí)行代碼實例,MyBatis 是一款優(yōu)秀的持久層框架,MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數(shù)和獲取結(jié)果集的工作,需要的朋友可以參考下2023-08-08KafkaListener注解的實現(xiàn)機制源碼解析
這篇文章主要為大家介紹了KafkaListener注解的實現(xiàn)機制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10Spring?Cloud?Gateway編碼實現(xiàn)任意地址跳轉(zhuǎn)的示例
本文主要介紹了Spring?Cloud?Gateway編碼實現(xiàn)任意地址跳轉(zhuǎn)的示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12