Spring boot gradle docker plugin 使用
- Spring boot gradle docker plugin 使用
- 前言
- 增加Gradle Docker 插件
- 使用Gradle Docker插件
- DockerFile
- 运行docker 指令生成Docker Image
- 使用IDEA 运行docker 指令
前言
当前容器技术、微服务、JVM语言等新的技术正在快速的占领着Java开发市场,Java程序员面临着更多的挑战。也需要更勤奋努力的学习、践行新的技术。
增加Gradle Docker 插件
在项目根目录的build.gradle 文件内增加插件
buildscript{
.....
dependencies {
....
classpath('gradle.plugin.com.palantir.gradle.docker:gradle-docker:0.19.2')
}
.....
}
使用Gradle Docker插件
在需要使用插件的module下的build.gradle文件内增加
apply plugin: 'com.palantir.docker'
group = 'groupName' //可以自定义为其他的内容
docker {
dockerfile file('xxxxxxx') //DockerFile路径
name "${project.group}/${jar.baseName}"
files jar.archivePath
buildArgs(['JAR_FILE': "${jar.archiveName}"])
}
DockerFile
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
运行docker 指令,生成Docker Image
//project 需替换为项目名称,工作路径在父级 gradle.build当中时,可以省略
//module 需替换为module名称
$ gradle project:module docker
或
$gradle :module docker
例子:
gradle unreal:unreal-zuul docker (unreal 为项目名称 , unreal-zuul 为模块名称)
或
gradle :unreal-zuul docker (unreal 为项目名称 , unreal-zuul 为模块名称)
使用IDEA 运行docker 指令
不会用命令行也没有关系,在IDEA中构建gradle项目,IDAE 会在右侧gradle 窗体中显示可以执行的tasks,找到docker 然后双击 docker 即可生成Docker Image