shell脚本将本地docker镜像push到阿里云镜像仓库
#!/bin/bash
# 将本地打包的jar包生成docker镜像并push到aliyun的镜像仓库中
# api jar 所在的目录
api_files=`find /Users/yunshuodeng/Work/powerusercenter/power-dubbo-api/target -name "*.jar"`
# provider jar 所在的目录
provider_files=`find /Users/yunshuodeng/Work/powerusercenter/power-dubbo-provider/target -name "*.jar"`
# consumer jar 所在的目录
consumer_files=`find /Users/yunshuodeng/Work/powerusercenter/power-dubbo-consumer/target -name "*.jar"`
# 构建consumer docker镜像目录
consumer_des_dir="/Users/yunshuodeng/Work/mydocker/app/consumer"
# 构建provider docker镜像目录
provider_des_dir="/Users/yunshuodeng/Work/mydocker/app/provider"
# 进入构建provider docker镜像目录
cd $provider_des_dir
# 遍历api jar
for file in $api_files
do
# 判断jar文件是否存在
if [ !-f"$provider_des_dir/$file" ]; then
rm -rf "$provider_des_dir/$file"
fi
# 将api jar 复制到构建provider docker镜像目录
cp -p $file $provider_des_dir
# 判断jar文件是否存在
if [ !-f"$consumer_des_dir/$file" ]; then
rm -rf "$consumer_des_dir/$file"
fi
# 将api jar 复制到构建consumer docker镜像目录
cp -p $file $consumer_des_dir
((file_count++))
done
# 复制provider jar文件
for file in $provider_files
do
# 判断jar文件是否存在
if [ !-f"$provider_des_dir/$file" ]; then
rm -rf "$provider_des_dir/$file"
fi
cp -p $file $provider_des_dir
((file_count++))
done
# 复制consumer jar文件
for file in $consumer_files
do
# 判断jar文件是否存在
if [ !-f"$consumer_des_dir/$file" ]; then
rm -rf "$consumer_des_dir/$file"
fi
cp -p $file $consumer_des_dir
((file_count++))
done
echo "all copy success"
# 进入构建provider docker镜像目录
cd $provider_des_dir
consumer_first=0
consumer_second=0
consumer_third=1
consumer_third_version=`docker images | grep registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_consumer | sort -k2,2r | head -n 1 | awk '{print $2}'|cut -d '.' -f 3`
consumer_second_version=`docker images | grep registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_consumer | sort -k2,2r | head -n 1 | awk '{print $2}'|cut -d '.' -f 2`
consumer_first_version=`docker images | grep registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_consumer | sort -k2,2r | head -n 1 | awk '{print $2}'|cut -d '.' -f 1`
echo $consumer_third_version
if [ ! -n $consumer_third_version ];then
echo "is null"
else
let consumer_third=$consumer_third_version+1
fi
echo $consumer_third
if [ ! -n $consumer_second_version ];then
echo "is null"
else
let consumer_second=$consumer_second_version
fi
if [ ! -n $consumer_first_version ];then
echo "is null"
else
let consumer_first=$consumer_first_version
fi
#echo "$versionstr"
if [ $consumer_third -gt 9 ];then
let consumer_third=0
let consumer_second=$consumer_second+1
if [ $consumer_second -gt 9 ];then
let consumer_third=0
let consumer_second=0
let consumer_first=$consumer_third+1
fi
fi
consumer_next_version="$consumer_first.$consumer_second.$consumer_third"
echo $consumer_next_version
provider_first=0
provider_second=0
provider_third=1
provider_third_version=`docker images | grep registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_provider | sort -k2,2r | head -n 1 | awk '{print $2}'|cut -d '.' -f 3`
provider_second_version=`docker images | grep registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_provider | sort -k2,2r | head -n 1 | awk '{print $2}'|cut -d '.' -f 2`
provider_first_version=`docker images | grep registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_provider | sort -k2,2r | head -n 1 | awk '{print $2}'|cut -d '.' -f 1`
if [ ! -n $provider_third_version ];then
echo "is null"
else
let provider_third=$provider_third_version+1
fi
if [ ! -n $provider_second_version ];then
echo "is null"
else
let provider_second=$provider_second_version
fi
if [ ! -n $provider_first_version ];then
echo "is null"
else
let provider_first=$provider_first_version
fi
if [ $provider_third -gt 9 ];then
let provider_third=0
let provider_second=$provider_second+1
if [ $provider_second -gt 9 ];then
let provider_third=0
let provider_second=0
let provider_first=$provider_first+1
fi
fi
provider_next_version=$provider_first.$provider_second.$provider_third
echo $provider_next_version
cd $provider_des_dir
# 判断镜像是否存在
# 构建provider镜像
docker build -t power-dubbo-provider:$provider_next_version .
# 进入构建consumer docker镜像目录
cd $consumer_des_dir
# 构建consumer镜像
docker build -t power-dubbo-consumer:"$consumer_next_version" .
echo "all build success"
# 上传镜像到aliyun仓库
# 登录到仓库
cat /Users/yunshuodeng/Work/mydocker/app/aliyun_images_repository_password.txt | docker login -u 阿里云账户名 --password-stdin registry.cn-shanghai.aliyuncs.com
# 将provider docker 镜像上传到user_center仓库
docker tag power-dubbo-provider:"$provider_next_version" registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_provider:"$provider_next_version"
docker push registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_provider:"$provider_next_version"
# 将consumer docker 镜像上传到user_center_consumer仓库
docker tag power-dubbo-consumer:"$consumer_next_version" registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_consumer:"$consumer_next_version"
docker push registry.cn-shanghai.aliyuncs.com/huinongtx/user_center_consumer:"$consumer_next_version"
echo "all push success "
转载于:https://blog.51cto.com/suyanzhu/2382771
shell脚本将本地docker镜像push到阿里云镜像仓库相关推荐
- 超级详细:公网环境下登录 Docker 仓库: Docker Hub 或 国内阿里镜像仓库!超级解惑!(推送镜像到docker hub 或 国内阿里云镜像仓库)
文章目录 前言: 1.登录 Docker Hub : ①.注册 或 登录 Docker Hub: ②.创建储存库: ③.开始上传镜像: ④.下载镜像: 2.使用 国内阿里云 镜像仓库: ①.开通 容器 ...
- Docker学习记录(三):配置 Docker 加速器:使用阿里云镜像仓库
上两篇文章介绍了Windows环境下通过Docker Toolbox使用Docker,由于国内的网络问题,从Docker的官方镜像仓库获取镜像往往很慢,甚至经常失败,这篇文章介绍如何通过阿里云镜像库获 ...
- linux shell 批量清空,shell脚本批量删除docker镜像
平时我们下载了很多镜像.但这些镜像已经很老了,我们需要把原来的镜像删除,但如果镜像很多的话,手动删除会特别麻烦,我们可以写个脚本批量删除 [root@server script]# cat docke ...
- docker本地镜像发布到阿里云镜像仓库
阿里云端配置: 登陆阿里云,选择容器镜像服务 点击个人版,箭头所指向的位置后,出现如下图所示: 创建命名空间: 创建好之后如下图所示:
- Docker镜像的拉取和推送(阿里云镜像仓库)
简介: 阿里云的容器镜像服务个人版是不要钱的,个人可以免费创建3个命名空间和最多可创建300个免费的镜像仓库供以使用,平时可以使用这项服务对个人的镜像进行管理,就可以不使用国外的DockerHub来对 ...
- idea打包meven镜像_docker打包maven项目推送到阿里云镜像仓库
自从上次用derrick 创建 nodejs 项目容器之后,以此为砖来引出学习Dockerfile的玉,用docker创建maven项目镜像也分两步走.使用maven plugin docker 创建 ...
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
一个用于构建和推送Docker镜像的Maven插件. 使用Maven插件构建Docker镜像,将Docker镜像push到DockerHub上,或者私有仓库,上一篇文章是手写Dockerfile,这篇 ...
- 【Android RTMP】NV21 图像旋转处理 ( 快速搭建 RTMP 服务器 Shell 脚本 | 创建 RTMP 服务器镜像 | 浏览器观看直播 | 前置 / 后置摄像头图像旋转效果展示 )
文章目录 安卓直播推流专栏博客总结 一. 编写快速搭建 RTMP 服务器 Shell 脚本 二. RTMP 快速搭建方法 三.创建阿里云 RTMP 服务器镜像 四.浏览器查看直播内容 五.前置 / 后 ...
- 跨服务器获取文件shell,shell脚本实现本地文件与服务器文件同步
为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行shell脚本,输入项目名就能发布到服器上. 1.shell文件代码 #!/bin/sh read -t 30 -p ...
最新文章
- 经验 | 详解 Faster R-CNN目标检测的实现过程
- pandas.Series.values 将Series内的数值以ndarray或ndarray-like的形式返回,取决于原Seires的数据类型
- 人造神经元计算速度超过人脑
- react 调用 html5,React-Native Webview 和H5交互的两种方式
- 对于数据库表排他更新的理解
- Facebook 开源的快速文本分类器 FastTex
- Android 升级JDK及配置问题。
- heX:用HTML5和Node.JS开发桌面应用
- nginx启动vue_Docker部署前端Vue
- labuladong算法小抄pdf下载
- Python官方文档中文版在线教程
- 雅思c1语言等级,雅思分数各代表什么水平
- NOIP2002 产生数
- mysql是如何保证持久性的?
- PPO:Proximal Policy Optimization Algorithms
- python面试技术面都过了,薪资都谈好了20K*13结果还是被刷了,问HR原因竟是...
- SDNFV Fest论坛成功举办 全景展现SDN/NFV测试成果
- 《HTTP权威指南》第三章学习总结
- C语言指针之二malloc的用法及详解
- 深入浅出内存管理--kmalloc支持的最大内存分配