maven项目docker插件自动部署——jar包
来源:互联网 发布:网络电视看不到地方台 编辑:程序博客网 时间:2024/06/05 15:17
本文例子地址:https://github.com/wangfei0904306/yeepay
本文使用插件: io.fabric3 的 docker-maven-plugin 插件
maven项目自动部署到docker,主要有根POM文件和Assembly两块配置,如图:
一、POM文件配置
<build><finalName>${project.artifactId}</finalName> <!--这里一定要定义生成的JAR包文件名--><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!--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> <!--生成的image名--><alias>${project.artifactId}</alias><build><from>java:8u40</from><maintainer>john.doe@example.com</maintainer><tags><tag>latest</tag><tag>${project.version}</tag></tags><ports><port>8080</port></ports><volumes><volume>/usr/src/myapp</volume></volumes><buildOptions><shmsize>2147483648</shmsize></buildOptions><entryPoint><!-- exec form for ENTRYPOINT --><exec><arg>java</arg><arg>-jar</arg> <!--启动参数--><arg>/usr/src/myapp/${project.artifactId}.jar</arg></exec></entryPoint><assembly><mode>dir</mode><basedir>/</basedir><descriptor>assembly.xml</descriptor></assembly></build><run><namingStrategy>alias</namingStrategy> <!--container全名规则--><ports><port>0.0.0.0:5555: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></build>
二、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}.jar</source> <outputDirectory>/usr/src/myapp</outputDirectory> <destName>${project.artifactId}.jar</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插件自动部署——jar包
- maven项目docker插件自动部署——war包
- Maven插件自动部署项目
- 构建Maven项目自动下载jar包
- 构建Maven项目自动下载jar包
- maven项目jar包不自动下载
- eclipse自动部署web项目时WEB-INF\lib目录下缺少maven依赖jar包
- maven插件打包可执行jar包到docker
- 部署Maven项目无法找到Maven管理的Jar包
- 部署Maven项目无法找到Maven管理的Jar包
- 部署Maven项目无法找到Maven管理的Jar包
- taotao——MyEclipse中maven项目jar包不会自动下载解决办法
- maven——自动部署Web项目
- maven项目手动部署到tomcat时jar包异常
- maven项目手动部署tomcat,部分jar包丢失
- maven项目部署后没有依赖的jar包
- maven项目部署到tomcat提示缺少jar包
- Docker实践 - 使用maven插件自动部署web应用至Docker容器的tomcat
- 网游中针对网络延迟的优化
- highcharts报表 四:xAxis X 轴(或分类轴)通用配置
- HDU1059-Dividing(多重背包+二进制优化)
- mapper代理开发
- Keychain 使用
- maven项目docker插件自动部署——jar包
- 网络协议分析工具Wireshark
- 百度鹰眼打包上传失败90087
- 图像分割 DeepLab v2
- 剑指Offer-7
- Java异常处理总结
- js模糊查询
- 使用Kotlin Tools 快速添加Kotlin依赖
- 用人工智能"写诗" 已成为现实【智库2861】