日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell脚本将本地docker镜像push到阿里云镜像仓库

發(fā)布時(shí)間:2025/7/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell脚本将本地docker镜像push到阿里云镜像仓库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#!/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"`


# 構(gòu)建consumer docker鏡像目錄

consumer_des_dir="/Users/yunshuodeng/Work/mydocker/app/consumer"


# 構(gòu)建provider docker鏡像目錄

provider_des_dir="/Users/yunshuodeng/Work/mydocker/app/provider"


# 進(jìn)入構(gòu)建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 復(fù)制到構(gòu)建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 復(fù)制到構(gòu)建consumer docker鏡像目錄

cp -p $file $consumer_des_dir


((file_count++))

done


# 復(fù)制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


# 復(fù)制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"


# 進(jìn)入構(gòu)建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


# 判斷鏡像是否存在

# 構(gòu)建provider鏡像

docker build -t power-dubbo-provider:$provider_next_version .


# 進(jìn)入構(gòu)建consumer docker鏡像目錄

cd $consumer_des_dir


# 構(gòu)建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 "


轉(zhuǎn)載于:https://blog.51cto.com/suyanzhu/2382771

總結(jié)

以上是生活随笔為你收集整理的shell脚本将本地docker镜像push到阿里云镜像仓库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。