Docker:“您在 /var/cache/apt/archives/ 中没有足够的可用空间”

Azi*_*uth 7 docker

我有一个 dockerfile,当我想构建时会导致错误

E: You don't have enough free space in /var/cache/apt/archives/
Run Code Online (Sandbox Code Playgroud)

请注意,该图像设置了一个稍微复杂的项目,其中包含多个需要大量空间的依赖项。例如,该列表包括 Qt。这只是图像构建过程中的事情,最后,我预计它的大小可能为 300 MB。

现在我发现了这个:https : //unix.stackexchange.com/questions/578536/how-to-fix-e-you-dont-have-enough-free-space-in-var-cache-apt-archives

鉴于此,到目前为止我尝试过的是:

  • 到目前为止,通过调用释放 docker 图像使用的空间 docker system prune
  • 通过调用sudo apt autoremove和删除不需要的安装文件sudo apt autoclean
  • 还有人建议删除 中的数据var/log,目前的大小为 3 GB。但是,我不是系统管理员,所以做这种事情很谨慎。

有没有其他方法可以增加这个空间?
而且,最好是有一个更可持续的解决方案,允许我构建多个图像而不必搜索可以清理系统的地方?

Rom*_*man 31

将建议转换@Dre为代码,您可能需要prune对容器、图像和卷使用 Docker 命令

docker container prune
docker image prune
docker volume prune
Run Code Online (Sandbox Code Playgroud)

您可以按顺序使用这些命令:

docker container prune; docker image prune; docker volume prune
Run Code Online (Sandbox Code Playgroud)


kay*_*ran 21

太长了;

跑步

docker system prune -a --volumes
Run Code Online (Sandbox Code Playgroud)

我尝试增加磁盘空间并手动修剪图像、容器和卷,但一次又一次面临这个问题。当我尝试检查我的机器上的内存消耗时,我发现位置消耗了大量内存~/Library/Containers/com.docker.docker。是否进行了系统修剪,清理了大量空间,并且 docker 构建再次开始工作。


Joe*_*Web 18

无需删除最新图像即可释放空间

使用以下命令查看不同类型的可回收存储(-v详细选项提供更多详细信息):

docker system df
docker system df -v
Run Code Online (Sandbox Code Playgroud)

清除构建缓存(该-a选项将删除未使用的构建缓存):

docker builder prune -a
Run Code Online (Sandbox Code Playgroud)

删除悬空图像(标记图像、旧图像和以前的图像构建):

docker rmi -f $(docker images -f "dangling=true" -q)
Run Code Online (Sandbox Code Playgroud)

使用 Docker UI 增加磁盘映像大小

Docker > 首选项 > 资源 > 高级 > 调整磁盘映像大小> 应用并重新启动