Docker部署SpringBoot项目(java10, jdk10,MAC)

build.gradle:

// Apply the java-library plugin to add support for Java Library
apply plugin: 'java-library'
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'docker'

// This is used as the docker image prefix (org)
group = 'chunzhenzyd'

jar {
    //用于打包jar文件的名称和版本
    baseName = 'test_springboot_docker'
    version =  '0.0.1'
}

sourceCompatibility = 10
targetCompatibility = 10

// use sudo gradle build buildImage
// tag::task[]
task buildImage(type: Docker, dependsOn: build) {
    push = true
    applicationName = jar.baseName
    dockerfile = file('src/main/docker/Dockerfile')
    doFirst {
        copy {
            from jar
            into stageDir
        }
    }
}
// end::task[]

// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
    mavenCentral()
}

dependencies {
    // This dependency is exported to consumers, that is to say found on their compile classpath.
    api 'org.apache.commons:commons-math3:3.6.1'

    // This dependency is used internally, and not exposed to consumers on their own compile classpath.
    implementation 'com.google.guava:guava:21.0'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'
    
    compile 'org.springframework.boot:spring-boot-actuator:1.5.3.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-web'
    testCompile 'org.springframework.boot:spring-boot-starter-test:1.5.3.RELEASE'
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.3.RELEASE'
        classpath 'se.transmode.gradle:gradle-docker:1.2'
    }
}

 

Dockerfile: 放在 src/main/docker/

FROM sapmachine/jdk10
VOLUME /tmp
ADD test_springboot_docker-0.0.1.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

执行命令:

sudo gradle build buildImage

(没有sudo的话,可能会出现:java.io.IOException: Cannot run program "docker": error=2, No such file or directory)

docker run -d -p 8080:8080 chunzhenzyd/test_springboot_docker:0.0.1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在Linux中使用Docker部署Spring Boot项目(使用JDK 11): 1. 首先,确保你已经在Linux上安装了Docker。你可以使用以下命令来验证Docker是否已经安装: ``` docker --version ``` 如果没有安装,请参考Docker官方文档进行安装。 2. 创建一个新的文件夹用于存放你的Spring Boot项目。在该文件夹中,创建一个名为 `Dockerfile` 的文件,并添加以下内容: ```Dockerfile FROM adoptopenjdk:11-jdk-hotspot ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 这个Dockerfile使用了 `adoptopenjdk` 镜像作为基础,然后将你的Spring Boot项目的jar文件复制到Docker容器中,并使用 `java -jar` 命令运行它。 3. 在你的Spring Boot项目的根目录中,打开一个终端窗口,并构建Docker镜像。运行以下命令: ``` docker build -t my-spring-boot-app . ``` 这将使用上述的Dockerfile构建一个名为 `my-spring-boot-app` 的Docker镜像。确保在命令的末尾有一个 `.`,它表示Dockerfile位于当前目录。 4. 构建成功后,你可以运行该Docker镜像并将Spring Boot应用程序部署为一个容器。使用以下命令: ``` docker run -p 8080:8080 my-spring-boot-app ``` 这将运行容器并将容器的8080端口映射到主机的8080端口。你可以根据需要更改端口映射。 现在,你的Spring Boot项目应该已经成功地在Docker容器中运行了,并且可以通过访问 `http://localhost:8080` 在主机上进行访问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值