mirror of
https://github.com/docker/cli.git
synced 2026-09-26 17:30:51 -04:00
b27f1b6d73bf98f935fc41dfa64de038a1534651
`--rm` is a client side flag which caused lots of problems: 1. if client lost connection to daemon, including client crash or be killed, there's no way to clean garbage container. 2. if docker stop a `--rm` container, this container won't be autoremoved. 3. if docker daemon restart, container is also left over. 4. bug: `docker run --rm busybox fakecmd` will exit without cleanup. In a word, client side `--rm` flag isn't sufficient for garbage collection. Move the `--rm` flag to daemon will be more reasonable. What this commit do is: 1. implement a `--rm` on daemon side, adding one flag `AutoRemove` into HostConfig. 2. Allow `run --rm -d`, no conflicting `--rm` and `-d` any more, auto-remove can work on detach mode. 3. `docker restart` a `--rm` container will succeed, the container won't be autoremoved. This commit will help a lot for daemon to do garbage collection for temporary containers. Signed-off-by: Zhang Wei <zhangwei555@huawei.com> Upstream-commit: 3c2886d8a45d8e79b00ab413d91f1af871b58d0a Component: engine
Languages
Go
92.3%
Shell
5.4%
Dockerfile
1.1%
Go-Checksums
0.7%
Makefile
0.3%
Other
0.2%