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

@ -2,10 +2,18 @@
# There's no need to run as root, so don't allow it, for security reasons # There's no need to run as root, so don't allow it, for security reasons
if [ "$USER" = "root" ]; then if [ "$USER" = "root" ]; then
echo "Please su to non-root user before running" echo "Please su to non-root user before running"
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'
@ -26,8 +34,8 @@ fi
# No qortal.jar but we have a Maven built one? # No qortal.jar but we have a Maven built one?
# Be helpful and copy across to correct location # Be helpful and copy across to correct location
if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then
echo "Copying Maven-built Qortal JAR to correct pathname" echo "Copying Maven-built Qortal JAR to correct pathname"
cp target/qortal*.jar qortal.jar cp target/qortal*.jar qortal.jar
fi fi
# Limits Java JVM stack size and maximum heap usage. # Limits Java JVM stack size and maximum heap usage.
@ -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.
nohup nice -n 20 java \
-Djava.net.preferIPv4Stack=false \ if [ "$DOCKER" = true ]; then
${JVM_MEMORY_ARGS} \ java -Djava.net.preferIPv4Stack=false $JVM_MEMORY_ARGS -jar qortal.jar
-jar qortal.jar \ else
1>run.log 2>&1 & nohup nice -n 20 java \
-Djava.net.preferIPv4Stack=false \
${JVM_MEMORY_ARGS} \
-jar qortal.jar
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 $!