Since Docker 1.13.x you can use Docker container prune:
docker container prune
This will remove all stopped containers and should work on all platforms the same way.
There is also a Docker system prune:
docker system prune
which will clean up all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes, in one command.
For older Docker versions, you can string Docker commands together with other Unix commands to get what you need. Here is an example on how to clean up old containers that are weeks old:
$ docker ps --filter "status=exited" | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm
To give credit, where it is due, this example is from https://twitter.com/jpetazzo/status/347431091415703552.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…