How to remove all docker volumes?

The official command to remove all unused data (including volumes without containers) will be with docker 1.13

docker system prune  

If you want to limit to volumes alone, removing only unused volumes:

docker volume prune

You also have docker image prune , docker container prune , etc:
See more at " Prune unused Docker objects ".

See commit 86de7c0 and PR 26108.

You can see it in action in :

/ # docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
1296a5e47ef3        hello-world         "/hello"            7 seconds ago       Exited (0) 6 seconds ago                       prickly_poincare

/ # docker system  prune
WARNING! This will remove:
        - all stopped containers
        - all volumes not used by at least one container
        - all networks not used by at least one container
        - all dangling images
Are you sure you want to continue? [y/N] y
Deleted Containers:

The current (pre-docker 1.13) way of managing volume was introduced with PR 14242 and the docker volume command, which documents in its comment from July 2015:

docker volume rm $(docker volume ls -q --filter dangling=true)