7.8 部署云服务器
This commit is contained in:
parent
88f74950bc
commit
be034e4da4
@ -63,7 +63,10 @@ services:
|
|||||||
|
|
||||||
# 4. Java 后端
|
# 4. Java 后端
|
||||||
group-buying-sys:
|
group-buying-sys:
|
||||||
image: smile/group-buying-sys
|
build:
|
||||||
|
context: .. # 从 docs/ 回到项目根
|
||||||
|
dockerfile: group-buying-sys-app/Dockerfile
|
||||||
|
image: smile/group-buying-sys:latest
|
||||||
container_name: group-buying-sys
|
container_name: group-buying-sys
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -1,17 +1,45 @@
|
|||||||
# 基础镜像
|
# —— 第一阶段:Maven 构建 ——
|
||||||
|
FROM maven:3.8.7-openjdk-8-slim AS builder
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
# 1. 先只拷贝父 POM 及各模块的 pom.xml,加速依赖下载
|
||||||
|
COPY pom.xml ./pom.xml
|
||||||
|
COPY group-buying-sys-api/pom.xml ./group-buying-sys-api/pom.xml
|
||||||
|
COPY group-buying-sys-domain/pom.xml ./group-buying-sys-domain/pom.xml
|
||||||
|
COPY group-buying-sys-infrastructure/pom.xml ./group-buying-sys-infrastructure/pom.xml
|
||||||
|
COPY group-buying-sys-trigger/pom.xml ./group-buying-sys-trigger/pom.xml
|
||||||
|
COPY group-buying-sys-types/pom.xml ./group-buying-sys-types/pom.xml
|
||||||
|
COPY group-buying-sys-app/pom.xml ./group-buying-sys-app/pom.xml
|
||||||
|
|
||||||
|
# 离线下载所有依赖
|
||||||
|
RUN mvn dependency:go-offline -B
|
||||||
|
|
||||||
|
# 2. 拷贝所有源码
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# 3. 只打包 main 应用模块(连带编译它依赖的模块),跳过测试,加速构建
|
||||||
|
RUN mvn \
|
||||||
|
-f pom.xml clean package \
|
||||||
|
-pl group-buying-sys-app -am \
|
||||||
|
-DskipTests -B
|
||||||
|
|
||||||
|
# —— 第二阶段:运行时镜像 ——
|
||||||
FROM openjdk:8-jre-slim
|
FROM openjdk:8-jre-slim
|
||||||
|
LABEL maintainer="smile"
|
||||||
|
|
||||||
# 作者
|
# 可选:设置时区
|
||||||
MAINTAINER zy
|
|
||||||
|
|
||||||
# 配置
|
|
||||||
ENV PARAMS=""
|
|
||||||
|
|
||||||
# 时区
|
|
||||||
ENV TZ=PRC
|
ENV TZ=PRC
|
||||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
|
||||||
|
&& echo $TZ > /etc/timezone
|
||||||
|
|
||||||
# 添加应用
|
# 把构建产物拷过来
|
||||||
ADD target/group-buying-sys-app.jar /group-buying-sys-app.jar
|
COPY --from=builder \
|
||||||
|
/workspace/group-buying-sys-app/target/group-buying-sys-app-*.jar \
|
||||||
|
/app.jar
|
||||||
|
|
||||||
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /group-buying-sys-app.jar $PARAMS"]
|
# 暴露端口,按需改
|
||||||
|
EXPOSE 8091
|
||||||
|
|
||||||
|
# 启动命令,可通过 -e JAVA_OPTS / -e PARAMS 传参数
|
||||||
|
ENV PARAMS=""
|
||||||
|
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /app.jar $PARAMS"]
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
# 普通镜像构建,随系统版本构建 amd/arm
|
|
||||||
docker build -t smile/group-buying-sys-app -f ./Dockerfile .
|
|
||||||
|
|
||||||
# 兼容 amd、arm 构建镜像
|
|
||||||
# docker buildx build --load --platform liunx/amd64,linux/arm64 -t xiaofuge/xfg-frame-archetype-app:1.0 -f ./Dockerfile . --push
|
|
Loading…
x
Reference in New Issue
Block a user