Fabric1.4.3 Docker鏡像的導出與載入

本地環境爲 ubuntu16.04,已部署好 fabric1.4.3網絡,first-network 運行成功,現需要在服務器上部署 fabric1.4.3,考慮到網絡問題在服務器上無法拉取 fabric 所需要的 docker 鏡像,只有先將本地虛擬機上的 fabric1.4.3 的 docker 鏡像導出,再 copy 到服務器端載入,具體過程如下:

目錄

一、導出 fabric docker 鏡像

1.錯誤的導出命令

2.正確的導出命令

二、載入 fabric docker 鏡像

三、一些注意事項

1.新版本鏡像如何與低版本鏡像共存

2.將源碼打包

3.通過命令行將源碼和鏡像文件 copy 到服務器中

4.文件夾重命名


一、導出 fabric docker 鏡像

1.錯誤的導出命令

docker save <IMAGE ID> -o /Path/<REPOSITORY>.tar

此命令會導致加載後鏡像的 REPOSITORY 和 TAG 都爲<none>,解決辦法就是手動打名字和標籤:

docker tag <IMAGE ID> <REPOSITORY>:<TAG>

注意:以上命令中的 <IMAGE ID> 爲要導出鏡像的 id、 Path 爲導出鏡像存放的位置、<REPOSITORY>爲導出鏡像的名字(可自定義),<TAG> 爲標籤.

2.正確的導出命令

docker save <REPOSITORY>:<TAG> -o /Path/<REPOSITORY>.tar

例如將 hyperledge/fabric-ca 鏡像導出到 /home/jack/fabric-docker-images 路徑下,具體命令爲:

docker save hyperledger/fabric-ca:1.4.3 -o /home/jack/docker-images/fabric-ca.tar

 fabric1.4.3 鏡像完整的導出命令爲:

docker save hyperledger/fabric-tools:1.4.3 -o /home/jack/docker-images/fabric-tools.tar
docker save hyperledger/fabric-ca:1.4.3 -o /home/jack/docker-images/fabric-ca.tar
docker save hyperledger/fabric-ccenv:1.4.3 -o /home/jack/docker-images/fabric-ccenv.tar
docker save hyperledger/fabric-orderer:1.4.3 -o /home/jack/docker-images/fabric-orderer.tar
docker save hyperledger/fabric-peer:1.4.3 -o /home/jack/docker-images/fabric-peer.tar
docker save hyperledger/fabric-javaenv:1.4.3 -o /home/jack/docker-images/fabric-javaenv.tar
docker save hyperledger/fabric-zookeeper:0.4.15 -o /home/jack/docker-images/fabric-zookeeper.tar
docker save hyperledger/fabric-kafka:0.4.15 -o /home/jack/docker-images/fabric-kafka.tar
docker save hyperledger/fabric-couchdb:0.4.15 -o /home/jack/docker-images/fabric-couchdb.tar
docker save hyperledger/fabric-baseos:amd64-0.4.15 -o /home/jack/docker-images/fabric-baseos-amd64.tar

二、載入 fabric docker 鏡像

可以通過U盤等移動存儲設備將已經導出的鏡像 tarcopy 到服務器上,存放目錄爲 /home/fabric-docker-images1.4.3,具體存放路徑視自己習慣而定.

先進入 /home/fabric-docker-images1.4.3 路徑下

cd ./home/fabric-docker-images1.4.3

然後執行載入命令:

docker load -i fabric-tools.tar
docker load -i fabric-ca.tar
docker load -i fabric-ccenv.tar
docker load -i fabric-orderer.tar
docker load -i fabric-peer.tar
docker load -i fabric-javaenv.tar
docker load -i fabric-zookeeper.tar
docker load -i fabric-kafka.tar
docker load -i fabric-couchdb.tar
docker load -i fabric-baseos-amd64.tar

三、一些注意事項

1.新版本鏡像如何與低版本鏡像共存

可能虛擬機中存在低版本的 fabric 鏡像,而又不想刪除,可以通過將低版本的 TAG 爲 latest 的鏡像修改爲對應版本的版本號,然後刪除TAG爲 latest 的鏡像(這一步應該在 “二” 之前做,也就是在加載新版本鏡像之前做)。下面以 fabric1.1.0 版本的 peer 鏡像爲例。

修改 fabric1.1.0 版本peer鏡像的 TAG:

docker tag <IMAGE ID> hyperledger/fabric-peer:1.1.0

刪除 TAG 爲 latest 的 peer 鏡像:

docker rmi hyperledger/fabric-peer:latest

2.將源碼打包

進入到 hyperledger 目錄下:

cd ./$GOPATH/github.com/hyperledge

執行打包命令:

tar czvf fabric.tar fabric

順便附上解壓命令:

tar zxvf fabric.tar

3.通過命令行將源碼和鏡像文件 copy 到服務器中

在服務器插入U盤後,執行以下命令查看U盤設備:

./dev/sdb1

 掛載U盤:

sudo fdisk -l
sudo mount /dev/sdb1 /mnt

進入U盤並創建存放fabric源碼和鏡像的文件夾:

cd /mnt
mkdir fabric_images_1.4.3

 執行 copy 命令(以 peer 鏡像爲例):

cp fabric-peer.tar ./home/fabric-docker-images1.4.3

4.文件夾重命名

(存在 fabric 低版本源碼的情況下,這一步應該在解壓 fabric 源碼之前做)

cd ./$GOPATH/github.com/hyperledger/
mv fabric fabric1.1.0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章