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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用shell脚本解决区块链Fabric学习时下载Docker镜像失败和费时问题

發布時間:2023/12/18 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用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镜像失败和费时问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。