windows上的docker自动化部署到服务器脚本

1、mvn install后,双击这个bat,实现docker build后上传到124服务器,并且重启124服务器

**@echo off

setlocal

:: 定义镜像名称和版本变量
set IMAGE_NAME=web
set IMAGE_VERSION=1.3.1

:: 清理本地文件
echo Cleaning up...
del service-%IMAGE_NAME%_%IMAGE_VERSION%.tar

:: 删除原先的镜像
echo Deleting old image...
docker rmi -f %IMAGE_NAME%:%IMAGE_VERSION%
if %errorlevel% neq 0 (
    echo Failed to delete old image.
    pause
    exit /b 1
)

:: 构建镜像
echo Building new image...
docker build -t "%IMAGE_NAME%:%IMAGE_VERSION%" .
if %errorlevel% neq 0 (
    echo Failed to build new image.
    pause
    exit /b 1
)

:: 转化为tar包
echo Saving image as tar file...
docker save -o service-%IMAGE_NAME%_%IMAGE_VERSION%.tar %IMAGE_NAME%:%IMAGE_VERSION%
if %errorlevel% neq 0 (
    echo Failed to save tar file.
    pause
    exit /b 1
)

:: 上传到服务器
echo Uploading tar file to server...
"C:\Program Files\PuTTY\pscp.exe" -pw opopop service-%IMAGE_NAME%_%IMAGE_VERSION%.tar op@192.168.20.124:/home/op/compose < NUL
if %errorlevel% neq 0 (
    echo Failed to upload tar file to server.
    pause
    exit /b 1
)

:: 在服务器上执行 docker load
echo Loading image on server...
"C:\Program Files\PuTTY\plink.exe" -pw opopop op@192.168.20.124 "docker load -i /home/op/compose/service-%IMAGE_NAME%_%IMAGE_VERSION%.tar" < NUL
if %errorlevel% neq 0 (
    echo Failed to load image on server.
    pause
    exit /b 1
)

:: 在服务器上执行停止脚本
echo Stopping containers on server...
"C:\Program Files\PuTTY\plink.exe" -pw opopop op@192.168.20.124 "cd /home/op/compose && /home/op/compose/stop.sh" < NUL
if %errorlevel% neq 0 (
    echo Failed to stop containers on server.
    pause
    exit /b 1
)

:: 在服务器上执行启动脚本
echo Starting containers on server...
"C:\Program Files\PuTTY\plink.exe" -pw opopop op@192.168.20.124 "cd /home/op/compose && /home/op/compose/start.sh" < NUL
if %errorlevel% neq 0 (
    echo Failed to start containers on server.
    pause
    exit /b 1
)

:: 清理本地文件
echo Cleaning up...
del service-%IMAGE_NAME%_%IMAGE_VERSION%.tar

echo Done!
pause
**
相关推荐
dntktop24 分钟前
隐私保护+性能优化,RyTuneX 让你的电脑更快更安全
运维·windows
心惠天意42 分钟前
docker-compose篇---创建jupyter并可用sudo的创建方式
docker·jupyter·容器
huaweichenai2 小时前
windows下修改docker的镜像存储地址
运维·docker·容器
菠萝炒饭pineapple-boss2 小时前
Dockerfile另一种使用普通用户启动的方式
linux·docker·dockerfile
浪小满3 小时前
linux下使用脚本实现对进程的内存占用自动化监测
linux·运维·自动化·内存占用情况监测
前端 贾公子3 小时前
速通Docker === 网络
docker
工业甲酰苯胺4 小时前
深入解析 Spring AI 系列:解析返回参数处理
javascript·windows·spring
慵懒的猫mi4 小时前
deepin分享-Linux & Windows 双系统时间不一致解决方案
linux·运维·windows·mysql·deepin
Allen Bright4 小时前
使用 JMeter 的 Autostop Listener 插件:自动化性能测试的守护者
运维·jmeter·自动化
hwscom4 小时前
Windows Server 2025如何做系统安全加固
windows·安全·系统安全