Why are -d
and --rm
conflicting arguments in Docker?
$ docker run -d --rm image
Conflicting options: --rm and -d
I have a number of containers that run unit/functional/integration tests. The Docker containers start, run the tests, and then stop. I run them detached since I only care about the results, but I'd also like the containers to be removed after the container exits. What would be a good way to do this?
Currently (Docker v1.1.1), this functionality isn't supported. The developer of the
--rm
feature explains the reasons for that in his PR #1589:The good news are that someone already opened an issue to fix this, so you might follow the discussion there.
Also, a workaround isn't too complicated, you can run your containers using a wrapper script as follows:
These options no longer conflict as of Docker version 1.13.0
There was a pull request that moves the
--rm
option daemon-side and allows for running containers detached with the removal option: https://github.com/docker/docker/pull/20848