如何设置DOCKER_SOCK变量解决Hyperledger Fabric启动Org3 peer报错问题
问题原因
该报错由DOCKER_SOCK环境变量缺失导致:你的docker-compose-org3.yaml配置文件中引用了${DOCKER_SOCK}变量用于挂载docker套接字,变量未设置时会默认替换为空字符串,最终生成了非法的空卷名,触发卷名长度校验失败。
解决方案
你可以根据使用场景选择临时生效或者永久生效的修复方式:
临时生效(单次启动使用)
- Linux/Mac/WSL 终端执行如下命令设置变量后再启动容器:
export DOCKER_SOCK=/var/run/docker.sock docker-compose -f docker/docker-compose-org3.yaml up -d
- Windows PowerShell 执行如下命令:
$env:DOCKER_SOCK = "/var/run/docker.sock" docker-compose -f docker/docker-compose-org3.yaml up -d
永久生效(无需每次启动前设置变量)
直接修改docker/docker-compose-org3.yaml配置文件,将所有引用${DOCKER_SOCK}的位置直接替换为实际套接字路径:
找到类似如下的卷挂载配置段:
volumes: - ${DOCKER_SOCK}:/var/run/docker.sock
修改为:
volumes: - /var/run/docker.sock:/var/run/docker.sock
保存配置后重新执行启动命令即可。
验证
执行docker ps命令,检查peer0.org3.example.com容器是否处于正常运行状态。
内容的提问来源于stack exchange,提问作者mohammed alzuharey
相关产品推荐
相关产品推荐

