Jpom/modules/server/Dockerfile

72 lines
2.6 KiB
Docker
Raw Normal View History

#
# The MIT License (MIT)
#
2021-12-14 19:20:00 +08:00
# Copyright (c) 2019 Code Technology Studio
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
2021-12-31 18:44:56 +08:00
2021-12-31 10:05:50 +08:00
# syntax = docker/dockerfile:experimental
2022-03-31 17:46:18 +08:00
FROM maven:3.8.5-jdk-8-slim as builder
2021-12-30 21:46:42 +08:00
WORKDIR /target/dependency
COPY . .
RUN set -eux; \
ARCH="$(dpkg --print-architecture)"; \
case "${ARCH}" in \
aarch64|arm64) \
BINARY_ARCH='arm64'; \
;; \
amd64|x86_64) \
BINARY_ARCH='x64'; \
;; \
*) \
echo "Unsupported arch: ${ARCH}"; \
exit 1; \
;; \
esac; \
curl -LfsSo /opt/node-v16.13.1-linux-${BINARY_ARCH}.tar.gz https://npmmirror.com/mirrors/node/v16.13.1/node-v16.13.1-linux-${BINARY_ARCH}.tar.gz \
&& tar -zxvf /opt/node-v16.13.1-linux-${BINARY_ARCH}.tar.gz -C /opt/ && export PATH=/opt/node-v16.13.1-linux-${BINARY_ARCH}/bin:$PATH \
2022-02-15 23:11:43 +08:00
&& npm config set registry https://registry.npmmirror.com/ \
2021-12-30 21:46:42 +08:00
&& cd web-vue && npm install && npm run build
RUN mvn -B -e -T 1C clean package -pl modules/server -am -Dmaven.test.skip=true -Dmaven.compile.fork=true -s script/settings.xml
2022-03-31 17:46:18 +08:00
FROM maven:3.8.5-jdk-8
2021-12-30 21:46:42 +08:00
ENV JPOM_HOME /usr/local/jpom-server
ARG JPOM_VERSION
ENV JPOM_PKG server-${JPOM_VERSION}-release
WORKDIR $JPOM_HOME
ARG DEPENDENCY=/target/dependency
COPY --from=builder ${DEPENDENCY}/modules/server/target/${JPOM_PKG} ${JPOM_HOME}
2021-12-08 16:10:39 +08:00
# 时区
ENV TZ Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
VOLUME $JPOM_HOME/data $JPOM_HOME/db $JPOM_HOME/log
HEALTHCHECK CMD curl -X POST -f http://localhost:2122/check-system || exit 1
2021-12-30 21:46:42 +08:00
EXPOSE 2122
2021-12-08 16:10:39 +08:00
2021-12-30 21:46:42 +08:00
ENTRYPOINT ["/bin/bash", "Server.sh", "start"]
2021-12-30 16:24:26 +08:00
2021-12-08 16:10:39 +08:00