我正在使用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 1.13(2017年1月)以来,Docker有一些新的规范pruning subcommands(小心使用):
但是,Docker for Windows和Docker for Mac可能会有一些粗略的升级,这些升级留下了一些东西,这需要手动删除文件或对某些人进行“工厂重置”。
rm -rf ~/Library/Containers/com.docker.docker/Data/*
)
赢 - https://github.com/docker/for-win/issues/745#issuecomment-319930974从docker-ci-zap.exe
下载https://github.com/jhowardmsft/docker-ci-zap,然后使用admin priviledge在powershell中运行它:
.\docker-ci-zap.exe -folder "C:\ProgramData\docker"
如果仍然相关。我碰到了同样的事情。
尝试命令
docker rmi
在我的情况下问题在于我尝试在linux容器模式下执行它。
当我切换到Windows容器时,此命令执行删除了该文件夹的所有内容。
只需对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