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
**
相关推荐
Agent手记4 小时前
制造业数字化升级:生产全流程企业级智能体落地解决方案 —— 基于LLM+超自动化全栈架构的智改数转深度实战
运维·ai·架构·自动化
深色風信子5 小时前
Docker newapi
运维·docker·容器·newapi
handler015 小时前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
武藤一雄6 小时前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
就叫飞六吧8 小时前
Docker Hub 上主流的nginx发行
java·nginx·docker
༒࿈南林࿈༒8 小时前
链家二手房数据自动化点选验证码
python·自动化·点选验证码
GL_Rain8 小时前
快速搭建Halo博客 + 崩溃秒恢复方案(Docker极简部署)
运维·docker·容器
淼淼爱喝水9 小时前
ESXi 给 Windows Server 2008 虚拟机添加磁盘教程
windows·esxi·虚拟机
勤自省9 小时前
《RDK X5 ROS 2 Humble 安装与验证:从零到 Hello World》
windows·ubuntu·ssh·ros2
docsz9 小时前
Windows开发环境配置
windows