Spring boot gradle docker plugin 使用

前言

当前容器技术、微服务、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
这里写图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐