使用docker-compose给自己上传的JAR打包成镜像并自动启动容器每次更新jar包自动化执行脚本

在持续集成和部署(CI/CD)过程中,自动化是提高效率的关键。本文将介绍如何使用Docker Compose将一个上传的JAR文件打包成Docker镜像,并在容器中自动启动该应用程序。同时,创建一个脚本,以便在每次更新JAR包后,自动化执行打包和启动容器的操作。

一、准备工作

准备工作移步使用Docker Compose给自己上传的JAR打包成镜像并自动启动容器 可查看完整文章

二、项目结构

在项目目录下创建一个自动化执行脚本run.sh,名称可自定义更改:

bash 复制代码
my-docker-app/
├── app.jar
├── Dockerfile
├── docker-compose.yml
└── run.sh

三、编写自动化脚本run.sh

创建一个名为run.sh的脚本,用于在每次更新JAR包后自动执行停止之前的容器移除容器移除镜像和打新的镜像和启动容器的操作。脚本内容如下:

bash 复制代码
#!/bin/bash

# 停止并删除旧的容器
docker-compose down

# 删除旧的镜像
OLD_IMAGE=$(docker images -q image_name)
if [ -n "$OLD_IMAGE" ]; then
  docker rmi $OLD_IMAGE
fi

# 上传新的 JAR 包到指定位置(假设你已经手动上传了新的 JAR 包)
# 例如:scp new-jar-file user@remote:/path/to/jar

# 构建新的镜像并启动容器
docker-compose up --build -d

image_name 替换为docker-compose.yml中自定义容器的名称

四、使用示例

  1. 将上述脚本保存为 run.sh 文件。
  2. 确保脚本具有执行权限:
bash 复制代码
chmod +x run.sh
  1. 运行脚本:
bash 复制代码
./run.sh

这样,每次上传新的 JAR 包后,自动删除旧的镜像和容器,并构建新的镜像并启动容器。

五、总结

本文介绍了通过编写自动化脚本,可以在每次更新JAR包后自动执行历史容器镜像移除并打包新的镜像和启动容器的操作。

希望本文对你在Docker和Docker Compose的使用上有所帮助。如有任何问题或建议,欢迎交流讨论。

使用Docker Compose给自己上传的JAR打包成镜像并自动启动容器传送门

相关推荐
weixin_377634846 小时前
【MinerU】 Docker Compose 使用
docker·容器·mineru
庚昀◟6 小时前
腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)
python·ci/cd·docker·flask·jenkins
Agent手记6 小时前
首件检验流程繁琐,耗时久还容易出现合规漏洞怎么办?——基于实在Agent的AI+超自动化全流程闭环实战
网络·人工智能·ai·自动化
帅气的钟先生7 小时前
OpenClaw + QQBot 实战:从 0 到 1 搭建你的消息自动化助手
运维·人工智能·自动化
Mr -老鬼7 小时前
EasyClick 双端自动化智能体|Android&iOS 全平台 EC 脚本开发助手
android·ios·自动化·易点云测·#easyclick·#ios自动化
缝艺智研社7 小时前
誉财 YC - 21 平板下摆机:服装下摆与袖口加工的卓越之选
大数据·人工智能·自动化·电脑·新人首发·线上模板机
SNOWPIAOP7 小时前
DOCKER的一些有用命令
docker
叶 落7 小时前
Ubuntu 通过 Docker 安装 Mysql8
linux·ubuntu·docker
挖AI金矿7 小时前
(十二)模型与多Provider切换
自动化·个人开发·ai编程·hermes agent·爱马仕agent
赵文宇(温玉)7 小时前
Docker Compose 安装 Etcd
docker·容器·etcd