通过脚本推送Docker镜像

sh脚本:

#!/bin/bash

wars=("war包名")

services=("服务名")

nameSpace=hr-x

TAG="v$(date "+%Y%m%d%H%M%S")"

for i in "${!services@}"; do

serverName={services\[i]};

DOCKERFILE="./Docker_$serverName"

imageName="ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/ihr/serverName:TAG"

2. 构建新镜像(直接使用现有 Dockerfile)

docker build -t imageName . -f DOCKERFILE

3. 推送镜像

docker push $imageName

echo "操作完成:新镜像已推送至 $imageName"

4. 更新容器 -n 命名空间 --record 记录发布节点,方便回滚

kubectl set image deployment/serverName serverName=imageName -n nameSpace --record

kubectl rollout restart deployment/serverName -n nameSpace

done

bash 复制代码
#!/bin/bash

wars=("war包名")
services=("服务名")
nameSpace=hr-x
TAG="v$(date "+%Y%m%d%H%M%S")"

for i in "${!services[@]}"; do
  serverName=${services[$i]};
  DOCKERFILE="./Docker_$serverName"
  imageName="ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/ihr/$serverName:$TAG"
  # 2. 构建新镜像(直接使用现有 Dockerfile)
  docker build -t $imageName . -f $DOCKERFILE
  # 3. 推送镜像
  docker push $imageName
  echo "操作完成:新镜像已推送至 $imageName"
  # 4. 更新容器 -n 命名空间 --record 记录发布节点,方便回滚
  kubectl set image deployment/$serverName $serverName=$imageName -n $nameSpace --record
  kubectl rollout restart deployment/$serverName -n $nameSpace
done

dockerFile

FROM ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/ihr/服务名:v20240704172002

RUN rm -rf /usr/local/tomcat/服务名-1.0-SNAPSHOT.war

bash 复制代码
FROM ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/ihr/服务名:v20240704172002
RUN rm -rf /usr/local/tomcat/服务名-1.0-SNAPSHOT.war
相关推荐
都叫我大帅哥13 小时前
Java JJWT 完全指南:从入门到生产级实践
java
前端开发张小七14 小时前
Java 学习笔记 · 第一课:基础语法与核心概念
java·后端
ThsPool15 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
赤壁小虾15 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
青山木16 小时前
Hot 100 --- 搜索插入位置
java·数据结构·算法·leetcode
Jul1en_16 小时前
【Claude Code Compact】源码级别的学习上下文压缩
java·前端·学习·github·ai编程
摇滚侠17 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 管理 Spring Boot 应用 阅读笔记
java·spring boot·笔记
XWalnut17 小时前
SpringBoot快速入门
java·spring boot·后端
前端 贾公子17 小时前
第06章:结构化输出 (上)
java·服务器·前端
念何架构之路17 小时前
restartmanager-重启管理子系统
java·开发语言