现有项目安装Docker后出现buildx git提交信息读取错误求助
解决Docker buildx报错:failed to read current commit information with git rev-parse --is-inside-work-tree
常见原因
- 项目目录未初始化Git仓库,buildx无法读取提交信息
- Docker构建时,buildx尝试读取宿主机Git信息但权限/安全配置受限
- buildx默认会自动收集Git上下文信息,即便你不需要这部分内容
具体解决办法
1. 初始化Git仓库(若项目未纳入Git管理)
如果你的项目还没建Git仓库,在项目根目录执行:
git init git add . git commit -m "initial commit"
完成后重新运行docker-compose build即可。
2. 禁用buildx的Git上下文收集
如果不需要Git相关构建信息,直接关闭这个功能:
- 方法一:修改docker-compose.yml(同时修正无效的版本号)
version: '3.8' services: django: image: leadbracket build: context: . args: - BUILDKIT_INLINE_CACHE=0 ports: - "8001:8001"
- 方法二:执行构建命令时临时关闭buildkit
DOCKER_BUILDKIT=0 docker-compose build
3. 调整宿主机的Git安全目录配置(针对已初始化Git的项目)
buildx读取的是宿主机的Git信息,容器内的Git配置不影响这个报错。在宿主机执行:
git config --global --add safe.directory 你的项目绝对路径
替换成你实际的项目路径即可。
额外提示:修正Docker Compose版本
你当前docker-compose.yml里的version: '3.11'是无效的,Docker Compose最高支持3.8版本,建议修改为version: '3.8',避免配置报错。
内容的提问来源于stack exchange,提问作者Sakib ovi
相关产品推荐
相关产品推荐

