diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-11-22 21:56:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-22 21:56:12 +0100 |
commit | ef240f4cd0fd3bf45f79522eb0cc3aad228e32ac (patch) | |
tree | 10bdcd842996eba5a981ff0be296f270bee40346 /cmd/podman/images_prune.go | |
parent | 35605c02fd9a83f09c61323942243e1a9cf1d4f1 (diff) | |
parent | c7d911e77633a0990a79d05ec3fdc1e04b0fbde1 (diff) | |
download | podman-ef240f4cd0fd3bf45f79522eb0cc3aad228e32ac.tar.gz podman-ef240f4cd0fd3bf45f79522eb0cc3aad228e32ac.tar.bz2 podman-ef240f4cd0fd3bf45f79522eb0cc3aad228e32ac.zip |
Merge pull request #4512 from kunalkushwaha/prune-filter
image prune command fixed as per docker image prune.
Diffstat (limited to 'cmd/podman/images_prune.go')
-rw-r--r-- | cmd/podman/images_prune.go | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/cmd/podman/images_prune.go b/cmd/podman/images_prune.go index 5745edd6b..2b498f83d 100644 --- a/cmd/podman/images_prune.go +++ b/cmd/podman/images_prune.go @@ -1,7 +1,10 @@ package main import ( + "bufio" "fmt" + "os" + "strings" "github.com/containers/libpod/cmd/podman/cliconfig" "github.com/containers/libpod/pkg/adapter" @@ -34,9 +37,24 @@ func init() { pruneImagesCommand.SetUsageTemplate(UsageTemplate()) flags := pruneImagesCommand.Flags() flags.BoolVarP(&pruneImagesCommand.All, "all", "a", false, "Remove all unused images, not just dangling ones") + flags.BoolVarP(&pruneImagesCommand.Force, "force", "f", false, "Do not prompt for confirmation") + flags.StringArrayVar(&pruneImagesCommand.Filter, "filter", []string{}, "Provide filter values (e.g. 'label=<key>=<value>')") } func pruneImagesCmd(c *cliconfig.PruneImagesValues) error { + if !c.Force { + reader := bufio.NewReader(os.Stdin) + fmt.Printf(` +WARNING! This will remove all dangling images. +Are you sure you want to continue? [y/N] `) + ans, err := reader.ReadString('\n') + if err != nil { + return errors.Wrapf(err, "error reading input") + } + if strings.ToLower(ans)[0] != 'y' { + return nil + } + } runtime, err := adapter.GetRuntime(getContext(), &c.PodmanCommand) if err != nil { return errors.Wrapf(err, "could not get runtime") @@ -45,7 +63,7 @@ func pruneImagesCmd(c *cliconfig.PruneImagesValues) error { // Call prune; if any cids are returned, print them and then // return err in case an error also came up - pruneCids, err := runtime.PruneImages(getContext(), c.All) + pruneCids, err := runtime.PruneImages(getContext(), c.All, c.Filter) if len(pruneCids) > 0 { for _, cid := range pruneCids { fmt.Println(cid) |