2017-05-21 45 views
1

使用泊塢窗工具箱的Windows在VirtualBox中,我已經運行下面的命令來清理泊塢窗:泊塢窗工具箱清理磁盤空間

集裝箱

docker rm -v $(docker ps -a -q -f status=exited)

圖片

docker rmi $(docker images -f "dangling=true" -q)

docker volume rm $(docker volume ls -qf dangling=true)

然而,似乎我的盤仍然由我的內置圖形消耗?我也爲清理運行以下腳本:

#!/bin/bash 

# remove exited containers: 
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v 

# remove unused images: 
docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi 

# remove unused volumes: 
find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
    docker ps -aq | xargs docker inspect | jq -r '.[] | .Mounts | .[] | .Name | select(.)' 
) | xargs -r rm -fr 

我收到以下錯誤:

An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json?all=1&filters=%7B%22status%22%3A%7B%22dead%22%3Atrue%2C%22exited%22%3Atrue%7D%7D: open //./pipe/docker_engine: The system cannot find the file specified. 

我相信這是由於我的非Linux系統上使用泊塢窗工具箱。因此,我未使用的卷的路徑是關閉的?

Docker Toolbox存儲它創建的圖像的目錄?

回答

0

在Linux上,我dockerclean腳本是這樣的:

#!/bin/bash 

# Remove dead containers 
docker ps -f status=dead --format '{{ .ID }}' | xargs -r docker rm -v 
# Remove dangling volumes 
docker volume ls -qf dangling=true | xargs -r docker volume rm 
# Remove untagged images 
docker images --digests --format '{{.Repository}}:{{.Tag}}@{{.Digest}}' | sed -rne 's/([^>]):<none>@/\[email protected]/p' | xargs -r docker rmi 
# Remove dangling images 
docker images -qf dangling=true | xargs -r docker rmi 
# Remove temporary files 
rm -f /var/lib/docker/tmp/* 
+0

你好裏卡多。這次真是萬分感謝。但是我使用VirtualBox運行Docker Toolbox for Windows。你知道碼頭清理腳本將用於Windows嗎? – Scott

+0

嘗試運行上面的'docker'命令而沒有最終的'rm'。 –

1

您也可以嘗試添加到1.13.0版本的一些命令:

$ docker system prune 
$ docker container prune 
$ docker image prune 
$ docker volume prune 
$ docker network prune