从服务器拷贝fabric项目及docker镜像到另一个服务器运行

背景:在虚拟机上运行fabric-1.2,在服务器上继续运行。

1.拷贝相关docker镜像

  由于购买的阿里云服务器下载国外资源速度非常慢,所以直接拷贝镜像和资源会快一些。

  • 首先查看可以正常运行fabric环境中所有的docker镜像,红色框起来的就是需要拷贝的所有镜像。黄色的是它们的id
  • 使用命令查看镜像:
docker images

在这里插入图片描述

  • 使用命令将镜像拷贝到虚拟机本地为一个zip文件,其中66cc132bd09c是镜像的id,fabric-ca.tar是你要保存的名字,保持与镜像名称一致,可以在解压的时候更方便:
docker save 66cc132bd09c> /usr/dockerimages/fabric-ca.tar

在这里插入图片描述

  • 将所有的镜像文件都拷贝到虚拟机文件夹中之后进行下一步操作。

2.将镜像传送到服务器上

  • 使用scp命令传送
scp -r ./dockerimages/ [email protected]:/usr/dockerimages

3.进行docker镜像的解压

  • 使用命令解压:
docker load < /usr/dockerimages/fabric-ca.tar
  • 然后使用docker images命令查看(这里由于已经在服务器上做过了,不能复现,所以临时解压一个nginx镜像作示例):
    在这里插入图片描述
    可以看到,新解压的docker镜像,它的repository和tag都是<none>,所以为了使他能够正常运行我们必须修改这两个参数:
  • 使用命令修改参数,对应的docker镜像,名字和id记得修改:
docker tag a1523 nginx:latest 

在这里插入图片描述
到这里docker镜像的工作就完成了。使用docker run -itd hyperledger/fabric-ca:latest加载进行,使用docker ps查看是否正常运行。一般来说名字和拷贝之前一样是不是出问题的。

3.拷贝相关项目到服务器

scp -r ./fabric [email protected] /usr/gocode/src/github.com/hyperledger/
scp -r ./fabric-samples [email protected] /usr/gocode/src/github.com/hyperledger/

4.启动byfn.sh

  • byfn generate
#进入fabric-samples下的first-network目录后
./byfn.sh generate

在这里插入图片描述
以上图片无亮点,只是运行结果

  • byfn up
./byfn.sh up

在这里插入图片描述
如图,出现了错误(参考链接)。
错误原因:由于启动过网络并且更新了证书,在没有删除干净的环境中启动复用的之前的volume,所以导致证书认证失败。
解决方案:执行如下命令删除卷
docker-compose -f docker-compose-cli.yaml down --volumes --remove-orphans
docker rm -f $(docker ps -a | grep “hyperledger/*” | awk “{print $1}”)
docker volume prune

  • 重新generate和up最后成功
    在这里插入图片描述
发布了38 篇原创文章 · 获赞 7 · 访问量 8685

猜你喜欢

转载自blog.csdn.net/weixin_44617722/article/details/104629632