网站优化公司上海,系统优化工具是什么软件,市场营销是做什么的,软文营销网文章目录 开机自启动docker打包后端项目Dockerfile文件脚本文件使用 开机自启动docker systemctl enable dockersystemctl is-enabled docker打包后端项目
这里的项目位置是target同级目录
1.在项目下面新建一个bin目录 新建一个package.txt 写入下方代码后 后缀改为.bat
ec… 文章目录 开机自启动docker打包后端项目Dockerfile文件脚本文件使用 开机自启动docker systemctl enable dockersystemctl is-enabled docker打包后端项目
这里的项目位置是target同级目录
1.在项目下面新建一个bin目录 新建一个package.txt 写入下方代码后 后缀改为.bat
echo off
echo.
echo [信息] 打包Web工程生成war/jar包文件。
echo.%~d0
cd %~dp0cd ..
call mvn clean package -Dmaven.test.skiptruepause2.项目下新建一个deploy文件夹里面新建一个deploy.ps1脚本文件 简单介绍下 将 windows上写的项目通过入口服务器联网 将项目部署到新的服务器不通过入口服务器无法访问 $script_dir Split-Path -Parent $MyInvocation.MyCommand.Definition
$working_dir $pwd
$deploy_dir /opt/diagnosisfunction deployBackEnd {cd $script_dir\.. | .\bin\package.bat# 将项目上传到入口服务器的下载地址scp -P 13151 .\target\【你的jar包名字】.jar 你的服务器下载地址# 将入口服务器的下载地址上传的东西 放在 新服务器ssh 入口服务器用户名IP地址 -p端口号 sshpass -p 密码 scp -o StrictHostKeyCheckingno 你服务器的下载地址 用户名IP地址/部署地址# 执行新服务器的脚本下方介绍ssh 入口服务器用户名IP地址 -p端口号 sshpass -p 密码 ssh -o StrictHostKeyCheckingno 用户名IP地址 bash 脚本名字# 删除入口服务器上上传的jar包ssh 入口服务器用户名IP地址 -p端口号 rm -f 下载地址的安装包
}
deployBackEnd示例 这里使用ssh
$script_dir Split-Path -Parent $MyInvocation.MyCommand.Definition
$working_dir $pwd
$deploy_dir /opt/diagnosisfunction deployBackEnd {cd $script_dir\.. | .\bin\package.batscp -P 13151 .\target\yudao-server.jar root103.121.52.32:/var/www/html/download/ssh root109.115.52.38 -p13151 sshpass -p 111000 scp -o StrictHostKeyCheckingno /var/www/download/app.jar dell192.168.80.47:/opt/diagnosis/targetssh root109.115.52.38 -p13151 sshpass -p 111000 ssh -o StrictHostKeyCheckingno dell192.168.80.47 bash /opt/diagnosis/delete_and_run.bashssh root109.115.52.38 -p13151 rm -f /var/www/download/app.jar
}
deployBackEndDockerfile文件
可以自己编写不太一样
FROM eclipse-temurin:21-jre## 创建目录并使用它作为工作目录
RUN mkdir -p /app
WORKDIR /app
## 将后端项目的 Jar 文件复制到镜像中
COPY ./target/app.jar app.jar## 设置 TZ 时区
ENV TZAsia/Shanghai
## 设置 JAVA_OPTS 环境变量可通过 docker run -e JAVA_OPTS 进行覆盖
ENV JAVA_OPTS-Xms512m -Xmx512m -Djava.security.egdfile:/dev/./urandom## 应用参数
ENV ARGS## 暴露后端项目的 48080 端口
EXPOSE 48080## 启动后端项目
CMD java ${JAVA_OPTS} -jar app.jar $ARGS
上传到服务器中后自己选择一个合适的文件夹 然后旁边新建一个target文件夹 将上方的 jar包放入target里面 上方的脚本文件中存在 mnt 是共享文件的目录 logs是共享日志的目录
脚本文件 image_nameapp
image_tagv1# 查找镜像 ID
image_id$(docker images --format {{.ID}} --filter reference${image_name}:${image_tag})# 检查是否找到匹配的镜像
if [[ -n $image_id ]]; thenecho 找到镜像 ${image_name}:${image_tag}ID 为 ${image_id}# 停止并删除与该镜像相关的容器container_ids$(docker ps -aq --filter ancestor${image_name}:${image_tag})if [[ -n $container_ids ]]; thendocker stop $container_idsdocker rm $container_idsecho 已停止并删除与该镜像相关的容器elseecho 未找到与该镜像相关的容器fi# 删除镜像docker rmi $image_idecho 成功删除镜像 ${image_name}:${image_tag}
elseecho 未找到镜像 ${image_name}:${image_tag}
fi#构建镜像docker build -t ${image_name}:${image_tag} /opt# 运行容器echo 开始启动 yudao-server 容器docker run -d \--name${image_name} \-p 48080:48080 \-v /opt/logs:/root/logs/ \-v /opt/mnt:/root/mnt/ \--restartalways \${image_name}:${image_tag}echo 正在启动 diagnosis 容器中需要等待 60 秒左右echo 已成功运行容器 ${image_name}映射端口 48080:48080
使用
右击 deploy.ps1 使用PowerShell运行即可