summaryrefslogtreecommitdiff
path: root/cmd/podman/images_prune.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2018-12-01 09:49:46 -0600
committerbaude <bbaude@redhat.com>2018-12-05 19:57:54 -0600
commite037427035dc57e536478362fc19e30a400bc327 (patch)
tree3fb14dc437f58f29e197a43aaefa0e0254251f43 /cmd/podman/images_prune.go
parent75b19ca8abe1957f3c48035767960a6b20c10519 (diff)
downloadpodman-e037427035dc57e536478362fc19e30a400bc327.tar.gz
podman-e037427035dc57e536478362fc19e30a400bc327.tar.bz2
podman-e037427035dc57e536478362fc19e30a400bc327.zip
Add ability to prune containers and images
Allow user to prune unused/unnamed images, the layer images from building, via podman rmi --prune. Allow user to prune stopped/exiuted containers via podman rm --prune. This should resolve #1910 Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podman/images_prune.go')
-rw-r--r--cmd/podman/images_prune.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/cmd/podman/images_prune.go b/cmd/podman/images_prune.go
new file mode 100644
index 000000000..cb72a498f
--- /dev/null
+++ b/cmd/podman/images_prune.go
@@ -0,0 +1,34 @@
+package main
+
+import (
+ "github.com/containers/libpod/cmd/podman/libpodruntime"
+ "github.com/containers/libpod/cmd/podman/shared"
+ "github.com/pkg/errors"
+ "github.com/urfave/cli"
+)
+
+var (
+ pruneImagesDescription = `
+ podman image prune
+
+ Removes all unnamed images from local storage
+`
+
+ pruneImagesCommand = cli.Command{
+ Name: "prune",
+ Usage: "Remove unused images",
+ Description: pruneImagesDescription,
+ Action: pruneImagesCmd,
+ OnUsageError: usageErrorHandler,
+ }
+)
+
+func pruneImagesCmd(c *cli.Context) error {
+ runtime, err := libpodruntime.GetRuntime(c)
+ if err != nil {
+ return errors.Wrapf(err, "could not get runtime")
+ }
+ defer runtime.Shutdown(false)
+
+ return shared.Prune(runtime.ImageRuntime())
+}