2017-05-21 4 views
1

は、私はクリーンアップのドッキングウィンドウに次のコマンドを実行していますドッカーツールボックスのクリーンアップディスクスペース

ボリューム

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は作成する画像をどのディレクトリに保存しますか?

Linuxの

答えて

0

、私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を使ってWindows用Docker Toolboxを実行しています。ドッカーのクリーンアップスクリプトがWindows用であることを知っていますか? – Scott

+0

上記 'docker'コマンドを最終的な' rm'なしで実行してみてください。 –

1

また、バージョン1.13.0に追加されたいくつかのコマンドを試すことができます。

$ docker system prune 
$ docker container prune 
$ docker image prune 
$ docker volume prune 
$ docker network prune 
関連する問題

 関連する問題