Hyperledger Fabric测试网络链码提交容器的文件挂载方案咨询
解决Hyperledger Fabric链码容器挂载本地JSON文件的问题
可行方案说明
peer lifecycle chaincode commit 命令本身不支持直接配置链码容器的文件挂载,因为该命令仅负责在通道层面提交链码定义,容器运行时的参数由peer节点控制。以下是两种快速实现挂载的方法:
方法一:修改peer节点启动配置(推荐)
在启动测试网络的docker-compose配置文件中,给目标peer节点添加环境变量CORE_CHAINCODE_DOCKER_RUN_OPTS,指定本地JSON文件目录到链码容器的挂载路径。示例配置如下:services: peer0.org1.example.com: environment: - CORE_CHAINCODE_DOCKER_RUN_OPTS=-v /host/path/to/json/files:/container/path/to/json/files修改后重启peer节点,后续所有由该peer启动的链码容器都会自动挂载指定目录,链码可以直接访问目录内的JSON文件。
方法二:临时手动调整链码容器(单次测试用)
- 调用链码触发容器启动后,用
docker ps找到链码容器的名称(格式通常为dev-peer0.org1.example.com-<链码名>-<版本>-<哈希>) - 停止该容器:
docker stop <容器名> - 用挂载参数重新启动容器,并保持原容器名:
docker run -d --name <原容器名> -v /host/path/to/json/files:/container/path/to/json/files <原容器镜像>
这种方法无需修改peer配置,但仅适用于临时测试,重启peer或重新触发链码容器启动后需要重复操作。
- 调用链码触发容器启动后,用
内容的提问来源于stack exchange,提问作者Fernando Garzón
相关产品推荐
相关产品推荐

