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

Docker Compose构建极慢,--verbose日志不足,如何启用调试日志?

解决docker-compose build卡顿、无详细日志的问题

我之前也碰到过类似的构建卡顿情况,结合你提供的环境信息和verbose日志,咱们可以从以下几个方向逐步排查:

1. 绕过compose直接构建,获取完整构建日志

从你的verbose日志能看到,docker-compose已经把构建请求交给docker build了,但--verbose只能输出compose层面的日志,看不到docker构建内部的细节。你可以直接用docker build命令单独构建目标服务,加上--progress=plain参数就能看到每一步的实时输出:

docker build --progress=plain -t someproject_someproject /opt/containers/sites/somesite.nz

这个命令会帮你定位到底是卡在了COPY大文件、RUN命令下载依赖,还是镜像拉取环节。

2. 升级Docker和docker-compose版本

你当前使用的Docker 19.03.8(2020年版本)和docker-compose 1.25.4都比较老旧,后续版本修复了很多构建性能相关的问题,比如镜像缓存优化、构建上下文传输效率提升等。建议升级到稳定版:

  • Docker Engine可以升级到24.x系列
  • docker-compose建议升级到V2版本(现在官方推荐使用docker compose命令,已集成到Docker CLI中)

3. 优化构建上下文大小

构建时Docker会把docker-compose.yml所在的整个目录作为构建上下文发送给daemon,如果目录里有大量无关文件(比如日志、临时文件、node_modules、数据库备份),会大幅增加传输时间:

  • 检查项目根目录的.dockerignore文件,确保排除了不需要的内容,示例配置:
    *.log
    node_modules/
    tmp/
    backups/
    .git/
    
  • 如果项目目录过大,可以把Dockerfile移到只包含构建必需文件的子目录,缩小上下文范围。

4. 排查网络相关的构建步骤

如果你的Dockerfile里有apt-get install、pip install这类需要联网的命令,网络延迟或源的问题会导致构建卡顿:

  • 替换为国内镜像源,比如apt用清华源、pip用阿里云源、npm用淘宝镜像
  • 用ping或curl测试源地址的连通性和延迟,确认网络是否稳定
  • 如果使用私有镜像仓库,检查仓库的访问速度,或在本地缓存常用镜像

5. 检查Docker daemon的资源配置

服务器内存不足或磁盘IO瓶颈也会导致构建变慢:

  • 用free -h查看内存使用情况,确保有足够的空闲内存供Docker使用
  • 修改/etc/docker/daemon.json调整Docker的资源限制,示例:
    {
      "default-shm-size": "2G",
      "memory": "4G"
    }
    
    修改后重启Docker服务:systemctl restart docker
  • 用iostat -x 1检查磁盘IO使用率,如果%util接近100%,说明磁盘IO饱和,需要清理磁盘或升级存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 22:22:32