最近工作需要对fabric2的源码进行改造,每次改完想要部署测试的时候,make docker这个命令执行起来超级慢。找到这篇文章的读者应该都遇到与我相同的问题,本文将分析问题产生的原因并提出解决方法。

一、问题描述

​ 最近工作需要对fabric2的源码进行改造,每次改完想要部署测试的时候,make docker这个命令执行起来超级慢。找到这篇文章的读者应该都遇到与我相同的问题,本文将分析问题产生的原因并提出解决方法。

二、问题分析

​ Fabric的镜像是基于Alpine(Alpine Linux 是一个面向安全,轻量级的基于musl libc与busybox项目的Linux发行版),Alpine的包管理工具是APK,Alpine系统默认源是国外,因此在以Alpine为基础创建的镜像容器中安装软件会很慢。比如:安装最耗时的是"installing gcc",真的要等半天。

三、解决方法

​ 针对上述问题的解决思路很简单:替换镜像容器的源。

​ 本文将使用清华大学开源软件源,地址为:http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.11/main/,v3.11是Alpine的版本号。

​ 那如何Fabric镜像容器的源呢?具体步骤如下:

  1. 进入Fabric源码中的images目录,该目录下有5个子目录,每个目录包含一个Dockerfile。如下图所示:

    https://s1.ax1x.com/2020/08/07/afXJDU.png

  2. 依次修改每个Dockerfile文件,在对应的位置增加代码:

    RUN echo -e http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.11/main/ > /etc/apk/repositories

    修改后的Dockerfile文件内容如下图所示:

    tools/Dockerfile:

    tools/Dockerfile

    orderer/Dockerfile:

    orderer/Dockerfile

    peer/Dockerfile:

    peer/Dockerfile

    ccenv/Dockerfile:

    ccenv/Dockerfile

    ​ baseos/Dockerfile:

    baseos/Dockerfile

    ​ 修改完这5个Dockerfile文件之后,在去Fabric源码根目录下执行:make docker,感觉像风一样快。

文章作者:xiaohui249
本文链接:https://javatech.wang/index.php/archives/154/
版本所有 ©转载时必须以链接形式注明作者和原始出处