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 [email protected]:/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 [email protected] "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 [email protected] "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 [email protected] "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
**
相关推荐
五步晦暝15 分钟前
【EcelVBA】系统学习 ActiveX 控件
服务器·windows·学习
繁华似锦respect21 分钟前
libevent2-介绍
linux·服务器·windows
zm-v-1593043398632 分钟前
AI 驱动近红外光谱预处理:从数据清洗到特征工程的自动化
运维·人工智能·自动化
尼恩久3 小时前
记录python在excel中添加一列新的列
windows·python·excel
珊珊而川3 小时前
docker exec -it abc bash
docker·容器·bash
love530love5 小时前
【笔记】为 Miniconda 安装图形界面的方法
人工智能·windows·笔记·python·conda
ZHOU_WUYI5 小时前
使用Docker Compose部署Dify
docker·容器·dify
.m8 小时前
怎样解决photoshop闪退问题
windows
长天一色11 小时前
Docker 镜像调试最佳实践
运维·docker·容器
zhang1870211216312 小时前
变电站综合自动化系统
运维·自动化