springboot~使用docker构建gradle项目

这是一篇关系到四个知识点的文章,分别是java,docker,springboot和gradle,我们希望在java环境下,使用springboot框架,通过gradle去构建项目,然后把项目部署和运行在docker容器里!

  1. Java运行时
  2. springboot开源脚手架
  3. gradle最流行的项目构建工具
  4. docker最流行的容器产品

注意的地方

  1. 项目名称就是镜像名,所以只能是小写字母
  2. build.gradle里的jar就是gradle build生成的包
  3. 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文件内容:

1
2
3
4
5
6
7
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

五 载图

 感谢各位阅读!

posted @   张占岭  阅读(2090)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2015-05-07 我心中的核心组件(可插拔的AOP)~调度组件quartz.net续~任务管理器的开发
2015-05-07 MongoDB学习笔记~关于官方驱动集成IQueryable之后的一些事
点击右上角即可分享
微信分享提示