mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 07:25:10 +00:00
- Update Gradle to 9.1.0. - Update shadow plugin to 9.2.2. - Requires a minimum of Java 17 to run Gradle. - Chaincode and applications still target Java 11. - Use release option instead of Gradle toolchain since the toolchain download can cause issues when building Docker images. Signed-off-by: Mark S. Lewis <Mark.S.Lewis@outlook.com>
30 lines
1,012 B
Docker
Executable file
30 lines
1,012 B
Docker
Executable file
# the first stage
|
|
FROM gradle:9-jdk25 AS gradle_build
|
|
|
|
# copy the build.gradle and src code to the container
|
|
COPY src/ src/
|
|
COPY build.gradle ./
|
|
|
|
# Build and package our code
|
|
RUN gradle --no-daemon build shadowJar -x checkstyleMain -x checkstyleTest
|
|
|
|
# the second stage of our build just needs the compiled files
|
|
FROM eclipse-temurin:25-jre
|
|
ARG CC_SERVER_PORT=9999
|
|
|
|
# Setup tini to work better handle signals
|
|
ENV TINI_VERSION=v0.19.0
|
|
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
|
|
RUN chmod +x /tini
|
|
|
|
RUN addgroup --system javauser && useradd -g javauser javauser
|
|
|
|
# copy only the artifacts we need from the first stage and discard the rest
|
|
COPY --chown=javauser:javauser --from=gradle_build /home/gradle/build/libs/chaincode.jar /chaincode.jar
|
|
COPY --chown=javauser:javauser docker/docker-entrypoint.sh /docker-entrypoint.sh
|
|
RUN chmod +x /docker-entrypoint.sh
|
|
ENV PORT=$CC_SERVER_PORT
|
|
EXPOSE $CC_SERVER_PORT
|
|
|
|
USER javauser
|
|
ENTRYPOINT [ "/tini", "--", "/docker-entrypoint.sh" ]
|