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
**
相关推荐
YCOSA202510 小时前
Windows11_InsiderPreview_EnterpriseVL_x64_zh-cn_29680_1000.iso 官方直链
windows
怎么没有名字注册了啊12 小时前
Windows Server 2008 R2 如何开启Aero
windows
lingchen190613 小时前
Windows CMD 的 `cd`(change directory,切换目录)命令
windows·命令模式
ITHAOGE1515 小时前
下载 | Win11 26H2 正式版发布!(ISO映像、2026年度版本、26300.9457、Windows 11)
windows·科技·微软·电脑
YCOSA202516 小时前
雨晨 Windows 11 IoT 企业版 Edge 轻装 VCDX 29680.1000
windows·物联网
零基础12317 小时前
LLM Agent 驱动的物模型构建:从设备手册到边缘接入的自动化实践
运维·人工智能·经验分享·python·自动化
笨笨努力中17 小时前
2002年Windows XP系统下载视频资源迁移云盘
windows
更深兼春远17 小时前
第2篇:Dify 部署保姆级教程:用 Docker跑起来
docker·容器·dify
迁移科技18 小时前
小体积蕴含大能量:Epic Eye Pixel Mini轻量化相机的应用美学
人工智能·3d·自动化·视觉检测
l1t19 小时前
修复WSL CreateInstance/E_UNEXPECTED和 mounted read-only 错误
linux·windows·wsl