1. DockerFile文件
ARG BUILDER_IMAGE=maven:3-jdk8
ARG RUNNER_IMAGE=java:8-jre
################
# Maven构建阶段
################
FROM $BUILDER_IMAGE as builder
# Maven工作区
WORKDIR /workspace
# 复制源码
COPY . ./
# 执行构建
RUN mvn --batch-mode \
        --errors \
        --define maven.test.skip=true \
        --define java.awt.headless=true \
        clean package
################
# 最终构建阶段
################
FROM $RUNNER_IMAGE as runner
# 设置工作目录
WORKDIR /support-release
# 复制构建产物
COPY --from=builder /workspace/target/support-release/support /support-release
# 启动脚本可执行权限
RUN chmod +x /support-release/support.sh
# 项目启动命令
ENTRYPOINT ["/support-release/support.sh", "start"]
2.启动文件 需要用前台进程运行,后台运行不成功
function start()
{
    # 运行为后台进程,并在控制台输出信息
    #java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
    # 运行为后台进程,并且不在控制台输出信息
    # nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 &
    # 运行为后台进程,并且将信息输出到 output.log 文件
    # nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} > output.log &
    # 运行为非后台进程,多用于开发阶段,快捷键 ctrl + c 可停止服务
    java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}
}