mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-26 11:35:10 +00:00
Use a core set of compose files, with overlays for specific details. In the case of podman, the overlays refer to a specific core.yaml for the peer that distables the use of teh docker daemon In the case of docker, the overlays add enable the docker daemon accesss for the peer to create chaincode containers Signed-off-by: Matthew B White <whitemat@uk.ibm.com>
31 lines
972 B
Docker
Executable file
31 lines
972 B
Docker
Executable file
# the first stage
|
|
FROM gradle:jdk11 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 openjdk:11-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
|
|
|
|
ENV PORT $CC_SERVER_PORT
|
|
EXPOSE $CC_SERVER_PORT
|
|
|
|
USER javauser
|
|
ENTRYPOINT [ "/tini", "--", "/docker-entrypoint.sh" ]
|