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

docker-compose启动Fabric测试网络时peer0.org2.example.com容器创建报错

报错原因

Cannot create container for service peer0.org2.example.com: create .: volume name is too short, names should be at least two alphanumeric characters

根因定位

你给出的docker-compose配置中,peer0.org2.example.com服务的volumes字段使用了${DOCKER_SOCK}环境变量,该变量未被正确赋值加载,docker-compose会将未定义的变量替换为空值,最终这条挂载规则会被解析为.:/host/var/run/docker.sock,单点.作为卷名长度仅1位,不符合docker要求的卷名最少2个字符的规则,因此触发报错。

解决方案

任选以下一种方案操作即可:

  • 方案1:直接写死sock路径
    将配置中volumes下的${DOCKER_SOCK}:/host/var/run/docker.sock替换为/var/run/docker.sock:/host/var/run/docker.sock,绝大多数docker环境默认的sock路径都是该值,直接写死可彻底避免环境变量加载问题。
  • 方案2:启动前临时导出环境变量
    执行docker-compose启动命令前,先在当前终端执行:
    export DOCKER_SOCK=/var/run/docker.sock
    再正常执行启动命令即可。
  • 方案3:配置.env文件持久化变量
    在docker-compose.yml文件所在目录新建名为.env的文件,添加如下内容:
    DOCKER_SOCK=/var/run/docker.sock
    保存后再启动服务,docker-compose会自动读取该文件中的变量值。

配置验证

修改完成后可先执行docker-compose config命令查看最终生效的配置,确认peer0.org2.example.com的volumes列表中没有单点.的挂载项,确认无误后再启动服务即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:15:04