I'd like to be able to easily clean up containers after they exit. Is this possible with the remote API? (Other than discovering the exit myself and removing with the DELETE/containers endpoint)
Docker Run The --rm causes Docker to automatically remove the container when it exits. The image being used to create the container is generally specified as <name>:<tag> such as ruby:latest .
The Docker Engine API is a RESTful API accessed by an HTTP client such as wget or curl , or the HTTP library which is part of most modern programming languages.
larsks answer is now outdated. Docker Remote API 1.25 shifted --rm
functionality from client to server. There is an AutoRemove flag under HostConfig when creating a container that does exactly this.
The --rm
option in the Docker client is entirely a client side option. This is, for example, why you can't combine -d
with --rm
-- because the client is only able to remove the container on exit if it stays attached to the container.
You could write a clean up script that would periodically run docker ps -f status=exited -q
and clean up the result.
You could also achieve something more automated by monitoring the Docker API's /events
endpoint and responding immediately to container exits, I guess.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With