Windows10启动Hyperledger Fabric 2.3测试网络容器创建权限报错如何解决
问题解决步骤
错误根因说明
两个报错为因果关系:
- 第一个
mkdir C:\Program Files\Git\var: Access is denied错误,是Windows环境下使用Git Bash执行Shell脚本时,默认会自动将Linux风格的绝对路径转换为Git安装目录下的路径,导致Docker挂载路径错误,尝试向无写入权限的系统目录创建文件,最终peer容器启动失败。 - 第二个peer无法连接7051端口的报错,是因为peer容器根本没有成功启动,对应端口未监听导致。
具体解决操作
第一步:清理所有残留资源
先清理之前启动失败产生的残留容器、卷、网络资源,避免后续冲突:
- 进入fabric-samples的test-network目录,执行脚本自带的清理命令:
./network.sh down
- 清理Docker全局冗余资源:
docker system prune -af --volumes
第二步:解决Git Bash路径转换问题
根据你使用的终端选择对应方案:
- 方案A(继续使用Git Bash):执行启动命令前添加环境变量临时禁用路径转换,完整启动命令为:
MSYS_NO_PATHCONV=1 ./network.sh up createChannel -c mychannel -ca
- 方案B(使用PowerShell/WSL终端):
- 若使用PowerShell,直接切换到test-network目录执行原启动命令即可,PowerShell不存在Git Bash的路径自动转换问题
- 若你的Docker Desktop使用WSL2后端,建议将整个fabric-samples目录移动到WSL文件系统(而非Windows挂载的/mnt/c目录),使用WSL终端执行命令,可避免绝大多数Windows文件权限问题
第三步:验证配置正确性
启动前确认Docker Desktop的配置:
- 已切换到Linux容器运行模式(Fabric所有镜像均为Linux架构,不支持Windows容器模式)
- 已开启对应磁盘的文件共享权限(若代码存放在Windows NTFS磁盘下)
验证结果
命令执行完成后,执行docker ps查看运行容器,确认peer0.org1.example.com、peer0.org2.example.com容器正常运行,即可正常执行后续通道加入、链码部署操作。
内容的提问来源于stack exchange,提问作者marija
相关产品推荐
相关产品推荐

