简体   繁体   English

如何构建使用 java11 的 docker 映像

[英]how to build docker image that are using java11

I am working with Spring boot.我正在使用 Spring 启动。 The following Dockerfile and run.sh is working fine and the docker image is built using the docker-plugin in build.gradle.以下 Dockerfile 和 run.sh 工作正常,docker 映像是使用 build.gradle 中的 docker-plugin 构建的。

Now I want to make a docker image of an application that uses some functions of Java11.现在我想制作一个使用Java11的一些功能的应用程序的docker图像。 So, If I made a docker image from the following Dockerfile.因此,如果我从以下 Dockerfile 制作了 docker 图像。 How could I do so?我怎么能这样做? So, that Java11 functions could be accessible with the docker image.因此,可以使用 docker 映像访问 Java11 函数。

build.gradle build.gradle

task buildDocker(type: Docker, dependsOn: build) {
    push = false
    applicationName = jar.baseName
    dockerfile = file('src/main/docker/Dockerfile')
    doFirst {
        copy {
            from jar
            into stageDir
        }
        copy {
            from "${project.buildDir}/resources/main/run.sh"
            into stageDir
        }
    }

Dockerfile Dockerfile

FROM openjdk:8u121-jdk-alpine

# Keep consistent with build.gradle
ENV APP_JAR_NAME pineCharts

# Install curl
RUN apk --update add curl bash && \
    rm -rf /var/cache/apk/*

RUN mkdir /app

ADD ${APP_JAR_NAME}.jar /app/
ADD run.sh /app/
RUN chmod +x /app/run.sh

WORKDIR /app

EXPOSE 8082

ENTRYPOINT ["/bin/bash","-c"]
CMD ["/app/run.sh"]

run.sh运行.sh

#!/usr/bin/env bash
java -Djava.security.egd=file:/dev/urandom -Dspring.profiles.active=${SPRING_ACTIVE_PROFILE} -Dgit.config.active.branch=${GIT_BRANCH_LABEL} -Duser.timezone=Asia/Kolkata -XX:+PrintFlagsFinal $JAVA_OPTIONS -jar ${APP_JAR_NAME}.jar

Here is an example这是一个例子

FROM adoptopenjdk/openjdk11:latest

RUN mkdir -p /software/app

ADD target/app.jar /software/app/app.jar

ENV port=8888

CMD java -jar /software/app/app.jar -Dspring.profiles.active=${SPRING_ACTIVE_PROFILE}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM