mirror of
https://github.com/moby/moby.git
synced 2026-08-02 22:26:52 +00:00
Rewrite docker rmi
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
This commit is contained in:
@@ -781,6 +781,7 @@ func (cli *DockerCli) CmdPort(args ...string) error {
|
||||
// 'docker rmi IMAGE' removes all images with the name IMAGE
|
||||
func (cli *DockerCli) CmdRmi(args ...string) error {
|
||||
cmd := cli.Subcmd("rmi", "IMAGE [IMAGE...]", "Remove one or more images")
|
||||
force := cmd.Bool([]string{"f", "-force"}, false, "Force")
|
||||
if err := cmd.Parse(args); err != nil {
|
||||
return nil
|
||||
}
|
||||
@@ -789,9 +790,14 @@ func (cli *DockerCli) CmdRmi(args ...string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
v := url.Values{}
|
||||
if *force {
|
||||
v.Set("force", "1")
|
||||
}
|
||||
|
||||
var encounteredError error
|
||||
for _, name := range cmd.Args() {
|
||||
body, _, err := readBody(cli.call("DELETE", "/images/"+name, nil, false))
|
||||
body, _, err := readBody(cli.call("DELETE", "/images/"+name+"?"+v.Encode(), nil, false))
|
||||
if err != nil {
|
||||
fmt.Fprintf(cli.err, "%s\n", err)
|
||||
encounteredError = fmt.Errorf("Error: failed to remove one or more images")
|
||||
|
||||
@@ -631,7 +631,7 @@ func deleteImages(eng *engine.Engine, version float64, w http.ResponseWriter, r
|
||||
}
|
||||
var job = eng.Job("image_delete", vars["name"])
|
||||
streamJSON(job, w, false)
|
||||
job.SetenvBool("autoPrune", version > 1.1)
|
||||
job.Setenv("force", r.Form.Get("force"))
|
||||
|
||||
return job.Run()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user