利用shell脚本解决区块链Fabric学习时下载Docker镜像失败和费时问题
生活随笔
收集整理的這篇文章主要介紹了
利用shell脚本解决区块链Fabric学习时下载Docker镜像失败和费时问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在學習研究Fabric時第一步就是拉取Docker鏡像,為避免在多機器下重復這種費時費力的工作。
解決辦法
1. 使用Vmware的克隆功能或者快照功能
2. 導出Docker 相關鏡像,需要的時候再導入,跳過下載過程
備注:centos,新建文件夾后,上傳腳本或和鏡像文件,執行導出或導入,導入導出比較占機器資源,大約十來分鐘時間,和鏡像個數與包大小有關
./dockerSaveAndLoad.sh文末有分享鏈接
./dockerSaveAndLoad.sh save
./dockerSaveAndLoad.sh load
#!/bin/bash #導出Fabric Docker 相關鏡像 #導入當前文件夾下所有的鏡像包 # TYPE_SAVE_OR_LOAD="$1"function eBlue(){ echo -e "\033[34;1m$1\033[0m" } function eRed(){ echo -e "\033[35;1m$1\033[0m" } function saveTxt(){ result=`docker images > images.txt` } function listDockerImgs(){ cat images.txt } function listDirImgFiles(){ for filename in `ls .`doif [[ $filename == *.tar ]] ; thenecho $filenamefidone imgSize=`du -sh`eBlue "......................... 當前鏡像總大小:${imgSize}....................................." } function saveDockerImgs(){ index=1 str='' dockerFileTemp='' dockerTag='' for i in `cat images.txt` doif [ $index -lt 6 ];thenindex=$[$index+1]continue fi temp=$((index-6))if test $((temp%7)) -eq 0;thenif [ -z "$str" ];thenstr=${i}elsestr=${str}' '${i}fiif [[ $str != *SIZE* ]] ; thenecho ${str}fiif [[ $str == *fabric* ]] && [[ $str != *latest* ]] ; thendockerFile=${dockerTag//\/_}temp1=`echo $dockerFile | sed -n "s/:/_/p"` temp2=`echo $temp1 | sed -n "s/\//_/p"` dockerFile=$temp2'.tar'#result=`docker save -o ./$dockerFile $dockerTag`#eColor $resulteBlue "導出當前鏡像:${dockerFile}";dockerFileTemp=''dockerTag=''fiecho ''str=''elseif [ -z "$str" ];thenstr=${i}elsestr=${str}' '${i}fiindexTemp=$((temp%7))if test $indexTemp -eq 1;thendockerTag=''${i}elif test $indexTemp -eq 2;thendockerTag=${dockerTag}':'${i}dockerFile=${dockerTag}fifiindex=$[$index+1] done } function loadTar2Docker(){ for filename in `ls .` doif [[ $filename == *.tar ]] ; then#result=`docker load < $filename`echo $resultfi done } function printHelp () {echo -e "Usage: ./dockerSaveAndLoad.sh <save|load> \nThe arguments must be in order." } eRed "==================================================================================================" eBlue " ____ _____ _ ____ _____ " eBlue "/ ___| |_ _| / \ | _ \ |_ _|" eBlue "\___ \ | | / _ \ | |_) | | | " eBlue " ___) | | | / ___ \ | _ < | | " eBlue "|____/ |_| /_/ \_\ |_| \_\ |_| " saveTxt if [ "${TYPE_SAVE_OR_LOAD}" == "save" ]; then eRed "==================當前DOCKER鏡像列表==============================================================" listDockerImgs eRed "==================開始導出鏡像====================================================================" saveDockerImgs eRed "==================================================================================================" listDirImgFiles elif [ "${TYPE_SAVE_OR_LOAD}" == "load" ]; then eRed "==================當前DOCKER鏡像列表==============================================================" listDockerImgs eRed "==================當前鏡像文件列表================================================================" listDirImgFiles eRed "==================開始導入鏡像====================================================================" loadTar2Docker eRed "==================當前DOCKER鏡像列表==============================================================" listDockerImgs elseprintHelpexit 1 fi eRed "==================================================================================================" eBlue " _____ _ _ ____ " eBlue "| ____| | \ | | | _ \ " eBlue "| _| | \| | | | | | " eBlue "| |___ | |\ | | |_| | " eBlue "|_____| |_| \_| |____/ " eRed "=================================================================================================="
鏡像文件及腳本分享 密eweg
總結
以上是生活随笔為你收集整理的利用shell脚本解决区块链Fabric学习时下载Docker镜像失败和费时问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第六届”蓝帽杯“全国大学生网络安全技能大
- 下一篇: gae java,适用于GAE的Java