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

Docker-Compose部署报错:http: invalid Host header与BuildKit启动问题

问题分析与解决

什么是BuildKit?

BuildKit是Docker官方的新一代镜像构建引擎,具备并行构建、缓存优化等优势。近期docker-compose默认启用了该引擎,这是你突然看到它启动的原因。

解决方案

方案1:临时禁用BuildKit构建

执行docker-compose命令时,通过环境变量临时关闭BuildKit:

COMPOSE_DOCKER_CLI_BUILD=0 DOCKER_BUILDKIT=0 docker-compose up -d

方案2:永久禁用BuildKit

方式A:在docker-compose.yml中配置

在docker-compose.yml文件最顶部添加全局配置,禁用BuildKit:

version: "3.8"
x-buildkit: &buildkit false
services:
  # 你的服务名称
  app:
    build:
      context: .
      dockerfile: Dockerfile
      buildkit: *buildkit
    # 其他服务配置...

方式B:修改Docker全局配置

编辑/etc/docker/daemon.json文件(不存在则新建),添加以下内容:

{
  "features": {
    "buildkit": false
  }
}

保存后重启Docker服务:

sudo systemctl restart docker

方案3:修复BuildKit的Host Header问题

若想保留BuildKit特性,可尝试以下操作:

  1. 更新docker-compose到最新稳定版本
  2. 删除现有BuildKit容器后重新启动:
docker rm -f buildx_buildkit_default
docker-compose up -d
  1. 检查服务器/etc/hosts文件,确保localhost正确映射到127.0.0.1,若缺失则添加:
echo "127.0.0.1 localhost" | sudo tee -a /etc/hosts

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 14:10:53