一、部署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
| 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
FROM azul/zulu-openjdk-alpine:17-jre
COPY --from=build /app/target/*.jar /app.jar
EXPOSE 8881
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 . .
RUN yarn run build
EXPOSE 80
FROM nginx:stable
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__