运行Hyperledger ./network.sh down时报docker-compose版本不支持错误
问题原因
你当前使用的docker-compose 1.14.0版本过旧,最高仅支持3.2及以下版本的docker-compose配置文件语法,而Hyperledger Fabric示例网络中的相关配置文件使用了更高版本的声明,因此触发版本不兼容报错。
解决方案
方案一:升级docker-compose(推荐)
该方案可以彻底解决版本兼容性问题,操作步骤如下:
- 卸载原有旧版docker-compose:
若通过apt安装,执行sudo apt remove docker-compose -y
若通过二进制文件安装,执行sudo rm /usr/local/bin/docker-compose - 自行获取docker-compose 2.x系列的官方二进制文件,放置到/usr/local/bin目录下
- 为二进制文件添加执行权限:
sudo chmod +x /usr/local/bin/docker-compose - 执行
docker-compose version验证版本正确后,重新运行./network.sh down即可正常执行。
方案二:修改配置文件版本声明(临时适配)
如果暂时无法升级docker-compose,可通过修改配置文件适配当前版本:
- 分别打开两个报错的配置文件:
./docker/docker-compose-test-net.yaml、./addOrg3/docker/docker-compose-couch-org3.yaml - 将文件开头的version字段值改为你当前版本支持的最高版本
"3.2" - 保存文件后重新执行
./network.sh down即可。注意如果配置中用到了3.2版本之后新增的语法,该方法可能触发新的报错,仅作为临时应急方案使用。
内容的提问来源于stack exchange,提问作者josem0
相关产品推荐
相关产品推荐

