准备
首先,在Ubuntu写一个.sh脚本用于自动更新jar包的docker容器和镜像,然后在Windows写一个.bat脚本用于上传jar包并运行.sh脚本。
deploy.sh
# Kill容器
docker kill demo
# 删除容器
docker rm demo
# 删除镜像
docker rmi my/demo
# 构建镜像
docker build -t my/demo .
# 运行容器
docker run -d --name demo -p 8080:8080 my/demo
其中:
demo
为容器名
my/demo
为镜像名
update.bat
@echo off
set WINSCP_PATH="E:\WinSCP\WinSCP.com"
set LOCAL_JAR_PATH="D:\xxx\xxx.jar"
set SERVER_ADDRESS=xxx
set SERVER_USERNAME=xxx
set SERVER_PASSWORD=xxx
set SERVER_DESTINATION=/home/ubuntu/xxx
%WINSCP_PATH% /command ^
"open sftp://%SERVER_USERNAME%:%SERVER_PASSWORD%@%SERVER_ADDRESS%/" ^
"cd %SERVER_DESTINATION%" ^
"put %LOCAL_JAR_PATH%" ^
"call ./deploy.sh" ^
"exit"
其中:
WINSCP_PATH
为WinSCP.com位置
LOCAL_JAR_PATH
为本地待上传jar包位置
SERVER_ADDRESS
为服务器IP
SERVER_USERNAME
为服务器登录用户名
SERVER_PASSWORD
为服务器登录密码
SERVER_DESTINATION
为服务器jar包上传位置
开始
只需要在Windows上点击运行update.bat脚本,即可一键将本地jar包上传至Ubuntu,并执行更新docker的操作。