Windows下Docker守护进程构建上下文存储位置及清理方法问询
Windows环境下Docker Build Context的存储位置与清理方法
一、Build Context在Docker Daemon端的存储目录
构建镜像时,Docker会将本地指定的build context文件传输至Daemon端临时存储,具体路径分两种部署场景:
1. Docker Desktop使用WSL2后端(主流场景)
Docker Daemon实际运行在WSL2的Linux发行版环境中,build context会被临时存放在WSL2文件系统的如下格式路径:
/var/lib/docker/tmp/docker-builder<随机字符串>
这类临时目录是构建过程中自动生成的,多数情况下构建完成后会被自动清理,但部分缓存的context数据会保留在Docker构建缓存区域。
2. Docker使用Windows原生后端(较少使用)
若Docker直接运行在Windows系统中,build context的临时存储路径为:
C:\ProgramData\Docker\tmp\docker-builder<随机字符串>
二、清理Daemon端的Build Context缓存
Docker没有单独清理build context缓存的命令,但可以通过清理构建缓存来移除包括context缓存在内的无用构建数据:
- 清理未被使用的构建缓存(默认保留最近使用的缓存):
docker builder prune
执行时会提示确认,可添加-f参数跳过确认:
docker builder prune -f
- 清理所有未被任何镜像引用的构建缓存(包括所有历史context缓存,会导致后续构建需要重新传输context、构建中间层,耗时增加):
docker builder prune -a -f
注意:
--no-cache参数仅作用于单次构建过程,强制不使用缓存重新构建,但不会清理Daemon端已存在的缓存数据。
附构建日志示例:
transferring context: 755.30MB 7.9s
[internal] load build context
transferring context: 879.2kB 1.2s done
内容的提问来源于stack exchange,提问作者eastwater
相关产品推荐
相关产品推荐

