feat:更新项目基于Docker和K8S的容器部署脚本
This commit is contained in:
13
derby.log
13
derby.log
@@ -1,13 +0,0 @@
|
|||||||
----------------------------------------------------------------
|
|
||||||
Wed Sep 11 17:08:24 CST 2024:
|
|
||||||
Booting Derby version The Apache Software Foundation - Apache Derby - 10.14.2.0 - (1828579): instance a816c00e-0191-e057-45b8-000002512970
|
|
||||||
on database directory memory:D:\Codes\remi-top\remi-cloud\1ec76c96-9207-4b71-b497-ffec1d63b532 with class loader jdk.internal.loader.ClassLoaders$AppClassLoader@5e481248
|
|
||||||
Loaded from file:/D:/Maven/remi-top-repo/org/apache/derby/derby/10.14.2.0/derby-10.14.2.0.jar
|
|
||||||
java.vendor=Amazon.com Inc.
|
|
||||||
java.runtime.version=17.0.12+7-LTS
|
|
||||||
user.dir=D:\Codes\remi-top\remi-cloud
|
|
||||||
os.name=Windows 10
|
|
||||||
os.arch=amd64
|
|
||||||
os.version=10.0
|
|
||||||
derby.system.home=null
|
|
||||||
Database Class Loader started - derby.database.classpath=''
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# 服务端口号
|
# 服务端口号
|
||||||
server:
|
server:
|
||||||
port: 12801
|
port: 1020
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
|
|||||||
@@ -3,22 +3,20 @@
|
|||||||
# Author: DianJiu
|
# Author: DianJiu
|
||||||
# 指定基础镜像,这是分阶段构建的前期阶段
|
# 指定基础镜像,这是分阶段构建的前期阶段
|
||||||
FROM harbor.njydsz.com/library/jdk:17 as builder
|
FROM harbor.njydsz.com/library/jdk:17 as builder
|
||||||
# 维护者
|
|
||||||
MAINTAINER DianJiu <dianjiuxyz@gmail.com>
|
|
||||||
#VOLUME:挂载目录
|
#VOLUME:挂载目录
|
||||||
VOLUME /temp
|
VOLUME /temp
|
||||||
|
|
||||||
#ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下
|
#ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下
|
||||||
#也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar /
|
#也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar /
|
||||||
ADD remitem-web-1.0.0.jar remitem-web.jar
|
ADD remi-sys-app-3.1.0.jar remi-sys-app.jar
|
||||||
|
|
||||||
#修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。
|
#修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。
|
||||||
RUN bash -c "touch /remitem-web.jar"
|
RUN bash -c "touch /remi-sys-app.jar"
|
||||||
|
|
||||||
#ENTRYPOINT 应用启动命令 参数设定
|
#ENTRYPOINT 应用启动命令 参数设定
|
||||||
#由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,导致启动过程很慢
|
#由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,导致启动过程很慢
|
||||||
#通过-Djava.security.egd=file:/dev/./urandom参数可以加快随机数产生过程
|
#通过-Djava.security.egd=file:/dev/./urandom参数可以加快随机数产生过程
|
||||||
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/remitem-web.jar"]
|
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/remi-sys-app.jar"]
|
||||||
|
|
||||||
#EXPOSE 容器暴露端口
|
#EXPOSE 容器暴露端口
|
||||||
EXPOSE 18080
|
EXPOSE 1020
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
|
||||||
|
## 如果基于Docker部署项目 直接运行如下脚本即可
|
||||||
```shell
|
```shell
|
||||||
sh ./docker_deploy.sh
|
sh ./docker_deploy.sh
|
||||||
|
|
||||||
docker logs -f remitem-web
|
docker logs -f dev-remi-sys-app
|
||||||
```
|
```
|
||||||
@@ -1,7 +1,12 @@
|
|||||||
docker stop remitem-web
|
#先删除原有的镜像
|
||||||
docker rm -f remitem-web
|
docker images | grep dev-remi-sys-app | awk '{print $3}' | xargs docker rmi -f
|
||||||
docker rmi remitem-web
|
docker build -t dev-remi-sys-app .
|
||||||
docker build -t remitem-web .
|
docker images | grep dev-remi-sys-app
|
||||||
docker images
|
#把新镜像推送到私服
|
||||||
docker run --restart=always -t -dit -p 18080:18080 -e TZ="Asia/Shanghai" --name remitem-web remitem-web
|
docker login -uadmin -pRemi123 harbor.******.com
|
||||||
docker ps
|
docker tag dev-remi-sys-app harbor.******.com/remi-top/dev-remi-sys-app:3.1.0
|
||||||
|
docker tag dev-remi-sys-app harbor.******.com/remi-top/dev-remi-sys-app
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-app:3.1.0
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-app
|
||||||
|
#基于Docker启动容器
|
||||||
|
docker run --restart=always -t -dit -p 1020:1020 --name dev-remi-sys-app harbor.******.com/remi-top/dev-remi-sys-app
|
||||||
|
|||||||
22
remi-sys/remi-sys-app/src/main/resources/k8s/Dockerfile
Normal file
22
remi-sys/remi-sys-app/src/main/resources/k8s/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Docker image for springboot application
|
||||||
|
# VERSION 0.0.1
|
||||||
|
# Author: DianJiu
|
||||||
|
# 指定基础镜像,这是分阶段构建的前期阶段
|
||||||
|
FROM harbor.njydsz.com/library/jdk:17 as builder
|
||||||
|
#VOLUME:挂载目录
|
||||||
|
VOLUME /temp
|
||||||
|
|
||||||
|
#ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下
|
||||||
|
#也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar /
|
||||||
|
ADD remi-sys-app-3.1.0.jar remi-sys-app.jar
|
||||||
|
|
||||||
|
#修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。
|
||||||
|
RUN bash -c "touch /remi-sys-app.jar"
|
||||||
|
|
||||||
|
#ENTRYPOINT 应用启动命令 参数设定
|
||||||
|
#由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,导致启动过程很慢
|
||||||
|
#通过-Djava.security.egd=file:/dev/./urandom参数可以加快随机数产生过程
|
||||||
|
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/remi-sys-app.jar"]
|
||||||
|
|
||||||
|
#EXPOSE 容器暴露端口
|
||||||
|
EXPOSE 1020
|
||||||
13
remi-sys/remi-sys-app/src/main/resources/k8s/README.md
Normal file
13
remi-sys/remi-sys-app/src/main/resources/k8s/README.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
## 如果基于K8S部署项目 直接运行如下脚本即可
|
||||||
|
```shell
|
||||||
|
sh ./docker_deploy.sh
|
||||||
|
|
||||||
|
sh ./k8s_deploy.sh
|
||||||
|
|
||||||
|
kubectl get pods -n remi-top
|
||||||
|
|
||||||
|
kubectl describe pod dev-remi-sys-app -n remi-top
|
||||||
|
|
||||||
|
kubectl get deployment dev-remi-sys-app -n remi-top -o yaml
|
||||||
|
```
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
## Service
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: dev-remi-sys-app
|
||||||
|
labels:
|
||||||
|
app: dev-remi-sys-app
|
||||||
|
spec:
|
||||||
|
type: NodePort
|
||||||
|
ports:
|
||||||
|
- name: dev-remi-sys-app
|
||||||
|
port: 1020
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 1020
|
||||||
|
nodePort: 30020
|
||||||
|
selector:
|
||||||
|
app: dev-remi-sys-app
|
||||||
|
---
|
||||||
|
## Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: dev-remi-sys-app
|
||||||
|
labels:
|
||||||
|
app: dev-remi-sys-app
|
||||||
|
spec:
|
||||||
|
replicas: 2
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: dev-remi-sys-app
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: dev-remi-sys-app
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: harbor.******.com/remi-top/dev-remi-sys-app
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: dev-remi-sys-app
|
||||||
|
ports:
|
||||||
|
- containerPort: 1020
|
||||||
|
protocol: TCP
|
||||||
|
env:
|
||||||
|
- name: NACOS_HOST
|
||||||
|
value: 192.168.31.200
|
||||||
|
- name: NACOS_PORT
|
||||||
|
value: "30888"
|
||||||
|
- name: NAME_SPACE
|
||||||
|
value: dev
|
||||||
|
- name: GROUP_NAME
|
||||||
|
value: dev
|
||||||
|
- name: spring.application.name
|
||||||
|
value: remi-sys-web
|
||||||
|
- name: spring.profiles.active
|
||||||
|
value: dev
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: "500Mi"
|
||||||
|
requests:
|
||||||
|
cpu: "0.2"
|
||||||
|
memory: "200Mi"
|
||||||
|
volumeMounts:
|
||||||
|
- name: logs
|
||||||
|
mountPath: /logs
|
||||||
|
volumes:
|
||||||
|
- name: logs
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: remi-log
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#先删除原有的镜像
|
||||||
|
docker images | grep dev-remi-sys-app | awk '{print $3}' | xargs docker rmi -f
|
||||||
|
docker build -t dev-remi-sys-app .
|
||||||
|
docker images | grep dev-remi-sys-app
|
||||||
|
#把新镜像推送到私服
|
||||||
|
docker login -uadmin -pRemi123 harbor.******.com
|
||||||
|
docker tag dev-remi-sys-app harbor.******.com/remi-top/dev-remi-sys-app:3.1.0
|
||||||
|
docker tag dev-remi-sys-app harbor.******.com/remi-top/dev-remi-sys-app
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-app:3.1.0
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-app
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#先删除原有的Pod
|
||||||
|
kubectl delete deployment dev-remi-sys-app -n remi-top --grace-period=0 --force
|
||||||
|
kubectl delete svc dev-remi-sys-app -n remi-top
|
||||||
|
#启动新的Pod
|
||||||
|
kubectl create -f dev-remi-sys-app.yaml -n remi-vip
|
||||||
@@ -16,7 +16,7 @@ spring:
|
|||||||
password: nacos
|
password: nacos
|
||||||
discovery:
|
discovery:
|
||||||
# 配置中心的地址
|
# 配置中心的地址
|
||||||
#server-addr: ${NACOS_HOST:192.168.31.204}:${NACOS_PORT:8848}
|
#server-addr: ${NACOS_HOST:192.168.31.18}:${NACOS_PORT:8848}
|
||||||
server-addr: ${NACOS_HOST:192.168.31.200}:${NACOS_PORT:30888}
|
server-addr: ${NACOS_HOST:192.168.31.200}:${NACOS_PORT:30888}
|
||||||
#命名空间
|
#命名空间
|
||||||
namespace: ${SERVICE_NAME_SPACE_NAME:dev}
|
namespace: ${SERVICE_NAME_SPACE_NAME:dev}
|
||||||
|
|||||||
22
remi-sys/remi-sys-web/src/main/resources/docker/Dockerfile
Normal file
22
remi-sys/remi-sys-web/src/main/resources/docker/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Docker image for springboot application
|
||||||
|
# VERSION 0.0.1
|
||||||
|
# Author: DianJiu
|
||||||
|
# 指定基础镜像,这是分阶段构建的前期阶段
|
||||||
|
FROM harbor.njydsz.com/library/jdk:17 as builder
|
||||||
|
#VOLUME:挂载目录
|
||||||
|
VOLUME /temp
|
||||||
|
|
||||||
|
#ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下
|
||||||
|
#也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar /
|
||||||
|
ADD remi-sys-web-3.1.0.jar remi-sys-web.jar
|
||||||
|
|
||||||
|
#修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。
|
||||||
|
RUN bash -c "touch /remi-sys-web.jar"
|
||||||
|
|
||||||
|
#ENTRYPOINT 应用启动命令 参数设定
|
||||||
|
#由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,导致启动过程很慢
|
||||||
|
#通过-Djava.security.egd=file:/dev/./urandom参数可以加快随机数产生过程
|
||||||
|
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/remi-sys-web.jar"]
|
||||||
|
|
||||||
|
#EXPOSE 容器暴露端口
|
||||||
|
EXPOSE 1010
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
## 如果基于Docker部署项目 直接运行如下脚本即可
|
||||||
|
```shell
|
||||||
|
sh ./docker_deploy.sh
|
||||||
|
|
||||||
|
docker logs -f dev-remi-sys-web
|
||||||
|
```
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#先删除原有的镜像
|
||||||
|
docker images | grep dev-remi-sys-web | awk '{print $3}' | xargs docker rmi -f
|
||||||
|
docker build -t dev-remi-sys-web .
|
||||||
|
docker images | grep dev-remi-sys-web
|
||||||
|
#把新镜像推送到私服
|
||||||
|
docker login -uadmin -pRemi123 harbor.******.com
|
||||||
|
docker tag dev-remi-sys-web harbor.******.com/remi-top/dev-remi-sys-web:3.1.0
|
||||||
|
docker tag dev-remi-sys-web harbor.******.com/remi-top/dev-remi-sys-web
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-web:3.1.0
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-web
|
||||||
|
#基于Docker启动容器
|
||||||
|
docker run --restart=always -t -dit -p 1010:1010 --name dev-remi-sys-web harbor.******.com/remi-top/dev-remi-sys-web
|
||||||
22
remi-sys/remi-sys-web/src/main/resources/k8s/Dockerfile
Normal file
22
remi-sys/remi-sys-web/src/main/resources/k8s/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Docker image for springboot application
|
||||||
|
# VERSION 0.0.1
|
||||||
|
# Author: DianJiu
|
||||||
|
# 指定基础镜像,这是分阶段构建的前期阶段
|
||||||
|
FROM harbor.njydsz.com/library/jdk:17 as builder
|
||||||
|
#VOLUME:挂载目录
|
||||||
|
VOLUME /temp
|
||||||
|
|
||||||
|
#ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下
|
||||||
|
#也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar /
|
||||||
|
ADD remi-sys-web-3.1.0.jar remi-sys-web.jar
|
||||||
|
|
||||||
|
#修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。
|
||||||
|
RUN bash -c "touch /remi-sys-web.jar"
|
||||||
|
|
||||||
|
#ENTRYPOINT 应用启动命令 参数设定
|
||||||
|
#由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,导致启动过程很慢
|
||||||
|
#通过-Djava.security.egd=file:/dev/./urandom参数可以加快随机数产生过程
|
||||||
|
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/remi-sys-web.jar"]
|
||||||
|
|
||||||
|
#EXPOSE 容器暴露端口
|
||||||
|
EXPOSE 1010
|
||||||
13
remi-sys/remi-sys-web/src/main/resources/k8s/README.md
Normal file
13
remi-sys/remi-sys-web/src/main/resources/k8s/README.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
## 如果基于K8S部署项目 直接运行如下脚本即可
|
||||||
|
```shell
|
||||||
|
sh ./docker_deploy.sh
|
||||||
|
|
||||||
|
sh ./k8s_deploy.sh
|
||||||
|
|
||||||
|
kubectl get pods -n remi-top
|
||||||
|
|
||||||
|
kubectl describe pod dev-remi-sys-web -n remi-top
|
||||||
|
|
||||||
|
kubectl get deployment dev-remi-sys-web -n remi-top -o yaml
|
||||||
|
```
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
## Service
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: dev-remi-sys-web
|
||||||
|
labels:
|
||||||
|
app: dev-remi-sys-web
|
||||||
|
spec:
|
||||||
|
type: NodePort
|
||||||
|
ports:
|
||||||
|
- name: dev-remi-sys-web
|
||||||
|
port: 1010
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 1010
|
||||||
|
nodePort: 30010
|
||||||
|
selector:
|
||||||
|
app: dev-remi-sys-web
|
||||||
|
---
|
||||||
|
## Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: dev-remi-sys-web
|
||||||
|
labels:
|
||||||
|
app: dev-remi-sys-web
|
||||||
|
spec:
|
||||||
|
replicas: 2
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: dev-remi-sys-web
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: dev-remi-sys-web
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: harbor.******.com/remi-top/dev-remi-sys-web
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: dev-remi-sys-web
|
||||||
|
ports:
|
||||||
|
- containerPort: 1010
|
||||||
|
protocol: TCP
|
||||||
|
env:
|
||||||
|
- name: NACOS_HOST
|
||||||
|
value: 192.168.31.200
|
||||||
|
- name: NACOS_PORT
|
||||||
|
value: "30888"
|
||||||
|
- name: NAME_SPACE
|
||||||
|
value: dev
|
||||||
|
- name: GROUP_NAME
|
||||||
|
value: dev
|
||||||
|
- name: spring.application.name
|
||||||
|
value: remi-sys-web
|
||||||
|
- name: spring.profiles.active
|
||||||
|
value: dev
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: "500Mi"
|
||||||
|
requests:
|
||||||
|
cpu: "0.2"
|
||||||
|
memory: "200Mi"
|
||||||
|
volumeMounts:
|
||||||
|
- name: logs
|
||||||
|
mountPath: /logs
|
||||||
|
volumes:
|
||||||
|
- name: logs
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: remi-log
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#先删除原有的镜像
|
||||||
|
docker images | grep dev-remi-sys-web | awk '{print $3}' | xargs docker rmi -f
|
||||||
|
docker build -t dev-remi-sys-web .
|
||||||
|
docker images | grep dev-remi-sys-web
|
||||||
|
#把新镜像推送到私服
|
||||||
|
docker login -uadmin -pRemi123 harbor.******.com
|
||||||
|
docker tag dev-remi-sys-web harbor.******.com/remi-top/dev-remi-sys-web:3.1.0
|
||||||
|
docker tag dev-remi-sys-web harbor.******.com/remi-top/dev-remi-sys-web
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-web:3.1.0
|
||||||
|
docker push harbor.******.com/remi-top/dev-remi-sys-web
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#先删除原有的Pod
|
||||||
|
kubectl delete deployment dev-remi-sys-web -n remi-top --grace-period=0 --force
|
||||||
|
kubectl delete svc dev-remi-sys-web -n remi-top
|
||||||
|
#启动新的Pod
|
||||||
|
kubectl create -f dev-remi-sys-web.yaml -n remi-vip
|
||||||
Reference in New Issue
Block a user