You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hyperledger Fabric安装链码报错docker build is disabled解决方法

问题描述

在Ubuntu终端执行Hyperledger Fabric链码安装命令:

kubectl hlf chaincode install --path=./chaincode --config=networkConfig.yaml --language=golang --label=supply --user=admin --peer=org1-peer1.fabric

执行后返回错误:

Error: Transaction processing for endorser [128.199.29.209:30906]: Chaincode status Code: (500) UNKNOWN. Description: failed to invoke backing implementation of 'InstallChaincode': could not build chaincode: docker build failed: docker build is disabled
问题原因

通过kubectl-hlf插件部署的Fabric网络,默认Peer节点配置禁用了Docker构建链码的能力,同时Peer容器默认未挂载宿主机Docker套接字,无法调用Docker服务完成链码镜像构建,最终导致安装失败。

解决步骤
  • 修改Peer节点Deployment配置,开启Docker构建开关
    找到org1-peer1.fabric对应的Peer工作负载,编辑容器环境变量,添加以下配置(镜像版本替换为当前部署的Fabric对应版本即可,比如2.4、2.5版本均可):
    - name: CORE_CHAINCODE_BUILDER
      value: hyperledger/fabric-ccenv:2.5
    - name: CORE_PEER_CHAINCODEBUILDER_DOCKER_ENABLED
      value: "true"
    
  • 给Peer容器挂载宿主机Docker套接字
    在Peer工作负载的volumes配置段添加宿主机Socket映射:
    - name: docker-sock
      hostPath:
        path: /var/run/docker.sock
        type: Socket
    
    同时在Peer容器的volumeMounts配置段添加挂载规则:
    - name: docker-sock
      mountPath: /var/run/docker.sock
    
  • 等待Peer Pod重启就绪后,进入容器执行docker info验证,能正常返回Docker服务信息即配置生效
  • 重新执行原链码安装命令即可完成安装

若集群不允许挂载宿主机Docker套接字,可选择本地提前编译链码、打包为可直接运行的外部链码包,用外部链码模式安装,不需要Peer节点执行构建操作,也可绕过该报错。

内容的提问来源于stack exchange,提问作者unknown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 06:48:22