这几天研究了一下将spring boot应用打入到docker中运行,先前有一个maven插件,可以直接在src/main中建一个docker文件夹,新建一个Dockerfile文件,在进行编译打包之后,可以直接运行docker插件,相当于在对应的docker目录中执行 docker build .
命令,会直接将当前应用打成镜像,然后运行,十分方便,但是在个人经过测试后发现,这个插件并不稳定,docker文件夹不一定每次都会打到target文件夹下,因此就会导致这个插件执行起来并没有多大用处。
因此我在后来再将spring boot应用打成镜像的时候,不再使用提供的docker maven插件,而是单独在当前项目的根目录下新建一个Dockerfile文件,应用编写完了之后,直接手动执行命令将应用打成镜像,具体如下。
springboot应用
pom.xml
在这里的pom.xml中需要指定几个仓库,以及提供几个插件,具体如下:
4.0.0 cn.com springbootweb 1.0-SNAPSHOT jar spring :: boot :: web org.springframework.boot spring-boot-starter-parent 1.4.1.RELEASE UTF-8 springio 0.3.8 1.8 org.springframework.boot spring-boot-starter-web spring-snapshots http://repo.spring.io/snapshot true spring-milestones http://repo.spring.io/milestone true spring-snapshots http://repo.spring.io/snapshot spring-milestones http://repo.spring.io/milestone org.apache.maven.plugins maven-compiler-plugin 3.2 -parameters 1.8 UTF-8 org.apache.maven.plugins maven-surefire-plugin 2.18.1 true org.apache.maven.plugins maven-resources-plugin 2.6 UTF-8 org.springframework.boot spring-boot-maven-plugin cn.com.SpringBootWebApplication ZIP repackage JDK1.8 true 1.8 1.8 UTF-8