Rewrite docker rmi

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
Upstream-commit: 795ed6b1e511fa6713fbc9ea4e8569aab15b98ff
Component: engine
This commit is contained in:
Victor Vieux
2014-02-25 21:08:07 +00:00
parent 4cb1793cd9
commit 0724fa65be
6 changed files with 58 additions and 110 deletions
+7 -1
View File
@@ -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")