Gradle使用Docker部署 Spring Boot项目记录

一、Docker来部署Spring Boot的应用

修改build.gradle文件中添加 dockerBuilder方法;

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath 'gradle.plugin.com.palantir.gradle.docker:gradle-docker:0.19.2'
    }
}

apply plugin: 'com.palantir.docker'
group = 'springio'
bootJar {
    baseName = 'gs-spring-boot-docker'
    version = '0.1.0'
}

dockerbuild {
    dependsOn build
    name "${project.group}/${bootJar.baseName}"
    files bootJar.archivePath
    buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}

在项目中创建/docker/Dockerfile文件;

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

二、打包镜像

gradle clean dockerbuild       #打包镜像
subprojects {

    dependencies {
        implementation project(":hsh-medical-common")
    }
    apply plugin: 'org.springframework.boot'

    task dockerBuilder(type: Docker, dependsOn: build) {

        tag = "${applicationName}"
        tagVersion = "latest"          #容器标签

        def dockerFolder = "${dockerFolderBase}" + tag
        //指定dockerfile所在的目录为编译目录,会自动拷贝dockerfile文件到stageDir目录
        stageDir = file("$dockerFolder")
        dockerfile = file("/docker/Dockerfile") #dockerfile文件所在项目的位置;

        doFirst {
            //复制jar包
            copy {
                from jar
                into "$dockerFolder"
            }
            copy {
                from "$dependenceFolder" + "/java_start.sh"
                into "$dockerFolder"
            }
        }
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值