网站设计培训课程,wordpress playyo,云一网站公司,百度不收录网站吗一、本文目标使用Maven插件构建SpringBoot应用的docker镜像镜像推送至Docker Registry启动容器本文开发环境 #xff1a;jdk1.8mavenideaSpringBoot2.2本文使用 com.spotify 的 docker-maven-plugin插件执行docker命令。据说官方不再推荐使用该插件#xff0c;而是使用 docke…一、本文目标使用Maven插件构建SpringBoot应用的docker镜像镜像推送至Docker Registry启动容器本文开发环境 jdk1.8mavenideaSpringBoot2.2本文使用 com.spotify 的 docker-maven-plugin插件执行docker命令。据说官方不再推荐使用该插件而是使用 dockerfile-maven-plugin 代替。本文需要提前搭建docker registry并且设置允许 http 推送。二、实现步骤1. 创建SpringBoot项目项目结构入口程序 HelloApplicationHelloController控制器pom.xml设置打包插件?xml version1.0 encodingUTF-8?4.0.0com.xundh.springboot docker 1.0-SNAPSHOTUTF-81.81.8UTF-81.8org.springframework.boot spring-boot-starter-parent 2.2.2.RELEASEorg.springframework.boot spring-boot-starter-web 2.2.2.RELEASEhellosrc/main/resourcestrueorg.springframework.boot spring-boot-maven-plugin 2. 打包并运行项目访问网址 http://localhost:8080/hello看到界面输出 hello world3. 添加docker支持在resources下新建Dockerfile输入内容FROM java:8MAINTAINER xundh2581529qq.comADD hello.jar app.jarEXPOSE 8080CMD java -jar app.jar这里使用:jdk1.8add指令将hello.jar复制到docker容器中重命名为app.jar开启8080端口使用命令行 java -jar app.jar运行程序4. 使用maven插件构建docker镜像插件配置说明imageName: 镜像的完整名称dockerDirectory: 用于指定Dockerfile文件所在的目录resources.resource.directory: 用于指定需要复制的根目录resources.resource.include: 用于指定需要复制的文件${docker.registry} 注册中心地址${project.groupId} 仓库名称${project.artifactId} 镜像名称${project.version} 镜像标签名${project.build.directory} 表示target目录${project.build.finalName}.jar 生成的jar包5. 构建镜像mvn docker:build# 查看镜像 sudo docker images这里构建镜像是直接使用服务器上的docker打包所以打包以后使用docker images就可以直接看到镜像。下一步推送可以不需要操作。打包出来的包比较大因为java image本身就有6百多兆加上自己的应用就不会少于600多兆。使用openjdk可以缩小体积。6. 镜像推送到Docker Registrymvn docker:push7. 到服务器运行镜像sudo docker run -d -p 80:8080 9512b0da843d访问网址http://服务器ip/hello可以看到打印 hello world字样