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

 

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