
这是一篇关系到四个知识点的文章,分别是java,docker,springboot和gradle,我们希望在java环境下,使用springboot框架,通过gradle去构建项目,然后把项目部署和运行在docker容器里!
- Java运行时
- springboot开源脚手架
- gradle最流行的项目构建工具
- docker最流行的容器产品
注意的地方
- 项目名称就是镜像名,所以只能是小写字母
- build.gradle里的jar就是gradle build生成的包
- Dockerfile默认放在src/main/docker目录
开发过程
一 build.gradle文件
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") classpath('se.transmode.gradle:gradle-docker:1.2')
} apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'docker' version = '1.0.0'
jar {
baseName = 'springdemo'
} task buildDocker(type: Docker, dependsOn: build) {
push = true
applicationName = jar.baseName
dockerfile = file('src/main/docker/Dockerfile')
doFirst {
copy {
from jar
into stageDir
}
}
}
src/main/docker/Dockerfile文件内容:
FROM fabric8/java-jboss-openjdk8-jdk:1.4 ENV JAVA_APP_JAR="app.jar"
ENV JAVA_MAX_MEM_RATIO=100
ENV AB_OFF ""
#ADD --chown=jboss:jboss https://github.com/bfyxzls/lindJar/blob/master/configServer-0.0.2.jar /deployments/app.jar
ADD --chown=jboss:jboss service1-0.0.1-SNAPSHOT.jar /deployments/app.jar
二 编译项目
docker build
三 生成镜像
docker build buildDocker
四 运行容器
docker run -p 80:8080 springdemo-1.0.0
五 载图
感谢各位阅读!