Fabric1.4.3 Docker镜像的导出与载入
本地环境为 ubuntu16.04,已部署好 fabric1.4.3网络,first-network 运行成功,现需要在服务器上部署 fabric1.4.3,考虑到网络问题在服务器上无法拉取 fabric 所需要的 docker 镜像,只有先将本地虚拟机上的 fabric1.4.3 的 docker 镜像导出,再 copy 到服务器端载入,具体过程如下:目录一、导出 fabric dock...
本地环境为 ubuntu16.04,已部署好 fabric1.4.3网络,first-network 运行成功,现需要在服务器上部署 fabric1.4.3,考虑到网络问题在服务器上无法拉取 fabric 所需要的 docker 镜像,只有先将本地虚拟机上的 fabric1.4.3 的 docker 镜像导出,再 copy 到服务器端载入,具体过程如下:
目录
一、导出 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盘等移动存储设备将已经导出的镜像 tar 包 copy 到服务器上,存放目录为 /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
更多推荐
所有评论(0)