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

Docker Compose构建报错:不支持http+docker URL协议

解决docker-compose build时"Not supported URL scheme http+docker"错误

问题背景

使用.NET Core项目,依赖docker-compose V1(6.1.3版本),Docker版本25.0.3,执行docker-compose build时触发以下错误:

urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+docker
During handling of the above exception, another exception occurred:
docker.errors.DockerException: Error while fetching server API version: Not supported URL scheme http+docker

解决方案

这个错误源于docker-compose V1的依赖库(urllib3)不支持新版本Docker使用的http+docker URL协议,可通过以下步骤修复:

  • 检查并修正DOCKER_HOST环境变量

    1. 查看当前DOCKER_HOST值:
      • Linux/macOS:echo $DOCKER_HOST
      • Windows(CMD):echo %DOCKER_HOST%
    2. 如果输出包含http+docker://前缀,将其替换为对应系统的正确协议:
      • Linux/macOS:设置为unix:///var/run/docker.sock,执行export DOCKER_HOST=unix:///var/run/docker.sock
      • Windows:设置为npipe:////./pipe/docker_engine,执行set DOCKER_HOST=npipe:////./pipe/docker_engine
    3. 也可直接取消该变量设置:
      • Linux/macOS:unset DOCKER_HOST
      • Windows:set DOCKER_HOST=
  • 临时指定连接协议执行构建
    不想修改环境变量的话,可在构建命令前临时指定DOCKER_HOST:

    • Linux/macOS:
      DOCKER_HOST=unix:///var/run/docker.sock docker-compose build
      
    • Windows(CMD):
      set DOCKER_HOST=npipe:////./pipe/docker_engine && docker-compose build
      
  • 升级docker-compose依赖的urllib3版本
    docker-compose V1基于Python开发,旧版urllib3不支持http+docker协议,手动升级依赖:

    • 如果docker-compose是通过pip安装:
      pip install --upgrade urllib3
      
    • 如果是通过pipx安装:
      pipx inject docker-compose urllib3 --upgrade
      
  • 备选方案:迁移到Docker Compose V2
    Docker官方已停止对Compose V1的维护,V2(docker compose命令,无横杠)与Docker 25.x兼容性更好,无需依赖老旧Python库。若项目允许,迁移到V2可彻底避免此类兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 11:56:09