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)
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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.
回答2:
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.