2017-05-21 11 views
1

, 내가 정리 고정 표시기에 다음 명령을 실행 한도커 도구 정리 디스크 공간

,363,210

볼륨 그러나

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. 

나는이 아닌 리눅스 시스템에 도커 도구 상자의 내 사용으로 인해 믿습니다. 따라서 사용하지 않는 볼륨에 대한 나의 경로는 꺼져 있습니까?

Docker Toolbox는 생성 한 이미지를 어떤 디렉토리에 저장합니까?

리눅스에

답변

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

마지막'rm'없이 위의'docker' 명령을 실행 해보십시오. –

1

또한 버전 1.13.0에 추가 된 몇 가지 명령을 시도 할 수 있습니다 :

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