Docker for Windows清理

问题描述 投票:11回答:4

我正在使用docker for Windows来启动MSSQL服务器。一切都工作得很好,除了我的硬盘现已满了。我已经使用了docker拥有的所有清理命令,删除了所有图像和容器:

docker kill $(docker ps -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -q -f dangling=true)
docker rmi $(docker images -q)

这不会删除c:\ ProgramData \ Docker \ windowsfilter文件夹中的任何内容,其中仍有大量文件。大约130gb的存储空间,没有任何运行容器或存储的图像。

Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Tue Mar 28 00:40:02 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.24)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Tue Mar 28 00:40:02 2017
 OS/Arch:      windows/amd64
 Experimental: true

我尝试使用docker-ci-zap(https://github.com/jhowardmsft/docker-ci-zap),但不建议运行该工具,所以我宁愿使用替代解决方案

docker
4个回答
10
投票

自Docker 1.13(2017年1月)以来,Docker有一些新的规范pruning subcommands(小心使用):

但是,Docker for Windows和Docker for Mac可能会有一些粗略的升级,这些升级留下了一些东西,这需要手动删除文件或对某些人进行“工厂重置”。


3
投票

docker-ci-zap.exe下载https://github.com/jhowardmsft/docker-ci-zap,然后使用admin priviledge在powershell中运行它:

.\docker-ci-zap.exe -folder "C:\ProgramData\docker"

参考:https://github.com/moby/moby/issues/26873


1
投票

如果仍然相关。我碰到了同样的事情。

尝试命令

docker rmi

在我的情况下问题在于我尝试在linux容器模式下执行它。

当我切换到Windows容器时,此命令执行删除了该文件夹的所有内容。


0
投票

只需对prune使用docker system命令,它就会像这样清理所有东西

$ docker system prune

WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all build cache Are you sure you want to continue? [y/N] y

了解更多详情https://docs.docker.com/config/pruning/#prune-everything

© www.soinside.com 2019 - 2024. All rights reserved.