maven项目docker插件自动部署——war包
来源:互联网 发布:电脑浏览器哪个好 知乎 编辑:程序博客网 时间:2024/06/06 02:56
本文使用插件: io.fabric3 的 docker-maven-plugin 插件
maven项目自动部署到docker,主要有根POM文件和Assembly两块配置,如图:
一、POM文件配置
<finalName>${project.artifactId}</finalName> <!--这里一定要定义生成的JAR包文件名--
<plugins> <!--Docker 插件--> <!-- 构建镜像: mvn docker:build --> <!-- 启动镜像: mvn docker:start --> <!-- 停止镜像: mvn docker:stop --> <!-- 删除镜像: mvn -Ddocker.removeAll docker:remove --> <!-- 查看镜像日志: mvn docker:logs --> <!-- 镜像启动成功后,访问地址为: http://192.168.1.70:8881/ams-server --> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.20.0</version> <extensions>true</extensions> <configuration> <dockerHost>http://192.168.0.54:2735</dockerHost> <images> <image> <name>iciyun/${project.artifactId}</name> <alias>${project.artifactId}</alias> <build> <from>tomcat:8.5-alpine</from> <tags><!-- define additional tags for the image --> <tag>latest</tag> <tag>${project.version}</tag> </tags> <assembly> <descriptor>assembly.xml</descriptor> <basedir>/</basedir> </assembly> <ports> <port>8080</port> </ports> </build> <run> <namingStrategy>alias</namingStrategy> <ports> <port>0.0.0.0:9085:8080</port> </ports> </run> </image> </images> </configuration> <executions> <!-- 以下为插件与Maven声明周期做绑定,可选择使用 --> <!--<execution>--> <!--<id>build-docker-image</id>--> <!--<phase>package</phase>--> <!--<goals>--> <!--<goal>build</goal>--> <!--</goals>--> <!--</execution>--> <!--<execution>--> <!--<id>push-docker-image-to-registry</id>--> <!--<phase>deploy-goho</phase>--> <!--<goals>--> <!--<goal>push</goal>--> <!--</goals>--> <!--</execution>--> </executions> </plugin> </plugins>二、Assembly配置
注意Assembly.xml文件位置为上图中所示位置
Assembly.xml文件内容:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> <id>${project.artifactId}</id> <files> <file> <source>target/${project.artifactId}.war</source> <outputDirectory>/usr/local/tomcat/webapps</outputDirectory> <destName>garage.war</destName> </file> </files></assembly>三、构建命令
mvn -f /var/lib/jenkins/workspace/springboot-docker-demo/pom.xml docker:stop -Ddocker.removeAll docker:remove docker:build docker:start其中“/var/lib/jenkins/workspace/springboot-docker-demo/pom.xml”为POM文件的绝对位置
四、注意事项
Ubuntu中完美运行,CentOS中需要做额外处理,每次要先删掉原有的容器和镜像,类似处理命令如下:
docker stop unipay 1>/dev/null 2>&1 | exit 0docker rm -f unipay 1>/dev/null 2>&1 | exit 0docker rmi -f iciyun/unipay:0.0.1-SNAPSHOT 1>/dev/null 2>&1 | exit 0docker rmi -f iciyun/unipay:latest 1>/dev/null 2>&1 | exit 0
深入学习的朋友: https://dmp.fabric8.io/#docker:build
阅读全文
0 0
- maven项目docker插件自动部署——war包
- maven项目docker插件自动部署——jar包
- Maven自动部署war包到tomcat
- Maven自动部署war包到Tomcat
- Maven插件自动部署项目
- maven自动部署war包到tomcat 问题
- java web项目war包自动升级部署方案
- maven——自动部署Web项目
- docker下部署Tomcat运行war包
- maven项目 build war包
- maven项目打War包
- maven一键部署tomcat war包
- maven一键部署tomcat war包
- maven一键部署tomcat war包
- Maven部署war包到远端tomcat
- Maven远程部署war包到Tomcat
- Maven自动部署war到Tomcat6
- Maven自动部署war到Tomcat7
- 判断链表环相关的面试题
- C++构造函数初始化成员列表
- allegro出光绘文件出现的几个问题
- Chrome开发者工具指南
- MATLAB实用绘图技巧
- maven项目docker插件自动部署——war包
- Android 使用tcpdump抓包分析
- vue图示
- 在ubuntu16.04下使用shadowsocks command client安全上网
- UVa 1312 Cricket Field【暴力】
- 编写java程序151条建议读书笔记(10)
- Golang实战-一个聊天室的实现二
- Dockerfile 简版大全,附赠编写实例
- SPH