This makes the remote API version 1.12 and newer default to automatically deleting intermediate containers when the build has succeedeed. Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
@@ -198,6 +198,8 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
}
if *rm {
v.Set("rm", "1")
+ } else {
+ v.Set("rm", "0")
if *forceRm {
@@ -903,8 +903,11 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
} else {
job.Stdout.Add(utils.NewWriteFlusher(w))
+
if r.FormValue("forcerm") == "1" && version.GreaterThanOrEqualTo("1.12") {
job.Setenv("rm", "1")
+ } else if r.FormValue("rm") == "" && version.GreaterThanOrEqualTo("1.12") {
+ job.Setenv("rm", "1")
job.Setenv("rm", r.FormValue("rm"))
@@ -1063,7 +1063,7 @@ Build an image from Dockerfile via stdin
the resulting image in case of success
- **q** – suppress verbose build output
- **nocache** – do not use the cache when building the image
- - **rm** - remove intermediate containers after a successful build
+ - **rm** - remove intermediate containers after a successful build (default behavior)
- **forcerm - always remove intermediate containers (includes rm)
Request Headers: