Trying to run in container, can't background process.

Adding docker arg to unsuppress logs.

Fixing entry point.

fixing paths

fixing paths
This commit is contained in:
Matthew DeGarmo 2022-09-12 22:57:19 -05:00
parent 063ef8507b
commit 24adc71bd4
2 changed files with 40 additions and 19 deletions

View File

@ -1,19 +1,21 @@
FROM maven:3-openjdk-11 as builder FROM maven:3-openjdk-11 as builder
WORKDIR /work WORKDIR /work
COPY ./ /work/ COPY . .
RUN mvn clean package RUN mvn clean package
### ###
FROM openjdk:11 FROM openjdk:11
RUN useradd -r -u 1000 -g users qortal && \ RUN useradd -r -u 1000 -g users qortal && \
mkdir /usr/local/qortal /qortal && \ mkdir /qortal && \
chown 1000:100 /qortal chown 1000:100 /qortal && \
COPY --from=builder /work/log4j2.properties /usr/local/qortal/
COPY --from=builder /work/target/qortal*.jar /usr/local/qortal/qortal.jar
COPY --from=builder /work/log4j2.properties /qortal/
COPY --from=builder /work/target/qortal*.jar /qortal/qortal.jar
COPY --from=builder /work/start.sh /qortal/
USER 1000:100 USER 1000:100
EXPOSE 12391 12392 EXPOSE 12391 12392
@ -22,5 +24,11 @@ HEALTHCHECK --start-period=5m CMD curl -sf http://127.0.0.1:12391/admin/info ||
WORKDIR /qortal WORKDIR /qortal
VOLUME /qortal VOLUME /qortal
ENTRYPOINT ["java"] ## ENTRYPOINT ["java"]
CMD ["-Djava.net.preferIPv4Stack=false", "-jar", "/usr/local/qortal/qortal.jar"] ## CMD ["-Djava.net.preferIPv4Stack=false", "-jar", "/usr/local/qortal/qortal.jar"]
ENTRYPOINT ["/qortal/start.sh"]
CMD ["docker"]

View File

@ -6,6 +6,14 @@ if [ "$USER" = "root" ]; then
exit exit
fi fi
# If docker is passed, then we want to change the behavior of the script
# to change the log suppression
if [ "$1" = "docker" ]; then
DOCKER=true
fi
# Validate Java is installed and the minimum version is available # Validate Java is installed and the minimum version is available
MIN_JAVA_VER='11' MIN_JAVA_VER='11'
@ -39,12 +47,17 @@ fi
# by default in Java 11, on some platforms (e.g. FreeBSD 12), # by default in Java 11, on some platforms (e.g. FreeBSD 12),
# it is overridden to be true by default. Hence we explicitly # it is overridden to be true by default. Hence we explicitly
# set it to false to obtain desired behaviour. # set it to false to obtain desired behaviour.
if [ "$DOCKER" = true ]; then
java -Djava.net.preferIPv4Stack=false $JVM_MEMORY_ARGS -jar qortal.jar
else
nohup nice -n 20 java \ nohup nice -n 20 java \
-Djava.net.preferIPv4Stack=false \ -Djava.net.preferIPv4Stack=false \
${JVM_MEMORY_ARGS} \ ${JVM_MEMORY_ARGS} \
-jar qortal.jar \ -jar qortal.jar
1>run.log 2>&1 & fi
# Save backgrounded process's PID # Save backgrounded process's PID
echo $! > run.pid # echo $! > run.pid
echo qortal running as pid $! # echo qortal running as pid $!