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

Docker镜像含带空格文件名文件时执行docker push推送失败问题咨询

这是Windows平台运行Linux容器场景下的已知缺陷,底层原因是旧版Docker for Windows使用的Hyper-V Linux虚拟机在处理含空格的文件路径时,内部命令解析逻辑没有正确转义空格,导致镜像层校验时的cat命令被拆分成了多个参数,执行失败。Docker本身对带空格的文件名没有限制,纯Linux环境下的Docker引擎可以正常构建、推送包含带空格文件名的镜像。

你可以通过以下方法解决该问题:

  • 升级Docker引擎到最新稳定版:该路径解析bug已经在2020年后发布的Docker Desktop/Windows Server 版Docker引擎中修复,升级后重启Docker服务,重新构建镜像即可正常推送。
  • 切换Linux容器运行后端:如果你的Windows Server 2019版本号高于1903,可以将Docker的Linux容器后端从Hyper-V切换为WSL2,完全规避该虚拟机路径解析问题。
  • 调整Docker数据根目录:打开Docker的配置文件daemon.json,添加"data-root": "C:\\docker"(路径需无空格、且赋予Authenticated Users完全控制权限),保存后重启Docker服务,重新构建镜像后重试。
  • 临时规避方案:如果暂时无法升级或调整配置,可以在构建镜像时将所有含空格的文件打包为单个tar包,容器启动时再执行解压操作,避免镜像层中直接存在带空格的文件路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:39:02