通过脚本推送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
相关推荐
小p1 天前
docker学习: 1. docker基本使用
docker
日月云棠1 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840821 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide1 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家1 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺1 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602731 天前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
桦说编程1 天前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
程序员清风1 天前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试
崔小汤呀1 天前
Docker部署Nacos
docker·容器