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

执行docker-compose up --build时遇Failed to solve: Canceled错误求助

Docker Compose构建失败:Canceled: context canceled(Windows 10环境)

错误日志

=> [web internal] load build definition from Dockerfile                                                           0.0s
 => => transferring dockerfile: 1.58kB                                                                             0.0s
 => [web internal] load .dockerignore                                                                              0.0s
 => => transferring context: 279B                                                                                  0.0s
 => [web internal] load metadata for docker.io/library/python:3.8                                                  0.8s
 => CANCELED [web  1/14] FROM docker.io/library/python:3.8@sha256:7a82536f5a2895b70416ccaffc49e6469d11ed8d9bf6bcf  0.3s
 => => resolve docker.io/library/python:3.8@sha256:7a82536f5a2895b70416ccaffc49e6469d11ed8d9bf6bcfc52328faeae7c77  0.2s
 => => sha256:795c73a8d985b6d1b7e5730dd2eece7f316ee2607544b0f91841d4c4142d9448 7.56kB / 7.56kB                     0.0s
 => => sha256:7a82536f5a2895b70416ccaffc49e6469d11ed8d9bf6bcfc52328faeae7c7710 1.86kB / 1.86kB                     0.0s
 => => sha256:129534c722d189b3baf69f6e3289b799caf45f75da37035c854100852edcbd7d 2.01kB / 2.01kB                     0.0s
 => CANCELED [web internal] load build context                                                                     0.1s
 => => transferring context: 26.00kB                                                                               0.0s
failed to solve: Canceled: context canceled

环境与已排查步骤

  • 操作系统:Windows 10
  • 此前构建与运行均正常,问题突发
  • 已尝试:排查干扰程序、重装Docker Desktop、更换Python镜像版本

问题分析与解决方案

1. Dockerfile存在阻塞命令(核心可能原因)

你的Dockerfile中包含RUN npm run watch:css,该命令是持续监听文件变化的前台进程,不会自动退出,会导致构建阶段无限卡住,最终被系统强制取消。

解决方案:
删除Dockerfile中的RUN npm run watch:css命令。watch模式仅用于本地开发实时编译,镜像构建阶段只需要执行RUN npm run build:css生成最终静态文件即可。

2. Docker资源分配不足

Windows下Docker Desktop默认资源分配可能无法支撑复杂构建流程,导致系统终止构建进程。

解决方案:

  1. 打开Docker Desktop -> 设置 -> Resources
  2. 调高CPU(建议≥2核)、内存(建议≥4GB)的分配值
  3. 重启Docker Desktop后重新执行构建命令

3. 网络波动导致镜像拉取中断

虽然日志显示镜像解析完成,但拉取镜像层时网络不稳定可能导致构建被取消。

解决方案:

  • 手动拉取基础镜像:执行docker pull python:3.8,确认镜像拉取完成后再运行docker-compose up --build
  • 配置国内Docker镜像源:在Docker Desktop设置 -> Docker Engine中添加镜像源配置,示例:
    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }
    
    保存后重启Docker

4. 构建上下文被文件锁定

Windows下杀毒软件、编辑器可能锁定项目文件,导致Docker无法读取构建上下文。

解决方案:

  • 检查.dockerignore文件,确保排除不必要的文件(如node_modules、__pycache__、.git、编辑器缓存等),减少上下文大小
  • 关闭项目相关的编辑器、杀毒软件实时扫描,再尝试构建

5. Docker版本兼容性问题

重装后的Docker Desktop版本可能存在bug,或与项目依赖不兼容。

解决方案:

  • 降级Docker Desktop到之前正常工作的版本(可从Docker官网历史版本页面下载)
  • 更新Docker Compose到最新稳定版:执行docker-compose --version查看版本,若不是最新,通过Docker Desktop的更新功能升级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:24:52