一、部署Springboot项目

1、添加Dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 使用官方的 Maven 镜像作为基础镜像
FROM maven:3.8.5-openjdk-17 AS build

# 将项目代码复制到容器中
WORKDIR /app
COPY pom.xml .
# 下载依赖,缓存,加快下次部署速度
RUN mvn dependency:go-offline
# 构建项目
COPY ./src ./src
RUN mvn clean install

# 使用官方的 OpenJDK 镜像作为基础镜像
FROM azul/zulu-openjdk-alpine:17-jre

# 将构建好的 Spring Boot 应用复制到容器中
COPY --from=build /app/target/*.jar /app.jar

# 暴露端口,根据实际的 Spring Boot 应用端口进行修改
EXPOSE 8881

# 启动 Spring Boot 应用
ENTRYPOINT ["java", "-jar", "/app.jar"]

2、编写sheel脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
//停止容器
docker stop system-show-container
//删除容器
docker rm system-show-container
//删除镜像
docker rmi system-show

#拉取代码根据实际分支配置
git pull origin master

# 进入项目目录
cd project-show

# 使用 Docker 构建镜像 .代表当前目录 根据实际Dockerfile文件配置
docker build -t system-show .

# 运行 Docker 容器
docker run -d -p 8881:8881 --name system-show-container system-show

二、部署vue3+vite项目

1、编写Dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FROM node:lts as build-stage

WORKDIR /app

COPY package*.json ./

RUN npm install
RUN npm install yarn

COPY . .
#使用yarn加快速度
RUN yarn run build

EXPOSE 80

FROM nginx:stable

#配置nginx、默认nginx配置没有正确地处理 Vue Router 的历史模式
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

2、添加Nginx配置文件

​ 默认Nginx 没有正确地处理 Vue Router 的历史模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
server {
listen 80;
server_name localhost;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}

error_page 500 502 503 504 /50x.html;

location = /50x.html {
root /usr/share/nginx/html;
}
}

3、添加shell脚本

1
2
3
4
5
6
7
8
9
10
docker stop system-show-font-vue
docker rm system-show-font-vue
docker rmi system-show-font-vue

git pull origin master

cd project-font-vue

docker build -t system-show-font-vue .
docker run -d -p 80:80 --name system-show-font-vue system-show-font-vue

__END__