diff options
| author | Matthew Heon <matthew.heon@gmail.com> | 2017-11-01 14:38:21 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-01 14:38:21 -0400 |
| commit | f5019df3f5da9030ce21e5c8ad3d3921a6585e7f (patch) | |
| tree | 05412dcc190ca026dbe51a4ef72bb91ff646e7c6 /cmd/kpod/rmi.go | |
| parent | 2b74391cd5281f6fdf391ff8ad50fd1490f6bf89 (diff) | |
| parent | eab0737f1189a7b88f0a37a6b894ca4345b6853f (diff) | |
| download | podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.tar.gz podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.tar.bz2 podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.zip | |
Merge pull request #1 from mheon/master
Initial checkin
Diffstat (limited to 'cmd/kpod/rmi.go')
| -rw-r--r-- | cmd/kpod/rmi.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/cmd/kpod/rmi.go b/cmd/kpod/rmi.go new file mode 100644 index 000000000..3713db454 --- /dev/null +++ b/cmd/kpod/rmi.go @@ -0,0 +1,56 @@ +package main + +import ( + "fmt" + + "github.com/pkg/errors" + "github.com/urfave/cli" +) + +var ( + rmiDescription = "removes one or more locally stored images." + rmiFlags = []cli.Flag{ + cli.BoolFlag{ + Name: "force, f", + Usage: "force removal of the image", + }, + } + rmiCommand = cli.Command{ + Name: "rmi", + Usage: "removes one or more images from local storage", + Description: rmiDescription, + Action: rmiCmd, + ArgsUsage: "IMAGE-NAME-OR-ID [...]", + Flags: rmiFlags, + } +) + +func rmiCmd(c *cli.Context) error { + if err := validateFlags(c, rmiFlags); err != nil { + return err + } + + runtime, err := getRuntime(c) + if err != nil { + return errors.Wrapf(err, "could not get runtime") + } + defer runtime.Shutdown(false) + + args := c.Args() + if len(args) == 0 { + return errors.Errorf("image name or ID must be specified") + } + + for _, arg := range args { + image, err := runtime.GetImage(arg) + if err != nil { + return errors.Wrapf(err, "could not get image %q", arg) + } + id, err := runtime.RemoveImage(image, c.Bool("force")) + if err != nil { + return errors.Wrapf(err, "error removing image %q", id) + } + fmt.Printf("%s\n", id) + } + return nil +} |
