diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-03-04 10:58:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-04 10:58:10 -0500 |
commit | 90eef95cb1591f20f5716225cf9b2c8c415fc3fc (patch) | |
tree | 9f19d9affffb9c57b5888e2fb3d12b9c642d4a73 /cmd/podman/run.go | |
parent | a8bc423e2989ceff1ee2ca79d6c1bd8314901e11 (diff) | |
parent | 11e5c53d1191f7a324f212aa2ca2ec2aad1b4676 (diff) | |
download | podman-90eef95cb1591f20f5716225cf9b2c8c415fc3fc.tar.gz podman-90eef95cb1591f20f5716225cf9b2c8c415fc3fc.tar.bz2 podman-90eef95cb1591f20f5716225cf9b2c8c415fc3fc.zip |
Merge pull request #4772 from boaz0/closes_4628
Add the rmi flag to podman-run to delete container image
Diffstat (limited to 'cmd/podman/run.go')
-rw-r--r-- | cmd/podman/run.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cmd/podman/run.go b/cmd/podman/run.go index 219f057c3..27247c5b5 100644 --- a/cmd/podman/run.go +++ b/cmd/podman/run.go @@ -7,6 +7,7 @@ import ( "github.com/containers/libpod/pkg/adapter" "github.com/opentracing/opentracing-go" "github.com/pkg/errors" + "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -38,6 +39,7 @@ func init() { flags.SetInterspersed(false) flags.SetNormalizeFunc(aliasFlags) flags.Bool("sig-proxy", true, "Proxy received signals to the process") + flags.Bool("rmi", false, "Remove container image unless used by other containers") flags.AddFlagSet(getNetFlags()) getCreateFlags(&runCommand.PodmanCommand) markFlagHiddenForRemoteClient("authfile", flags) @@ -64,5 +66,13 @@ func runCmd(c *cliconfig.RunValues) error { defer runtime.DeferredShutdown(false) exitCode, err = runtime.Run(getContext(), c, exitCode) + if c.Bool("rmi") { + imageName := c.InputArgs[0] + if newImage, newImageErr := runtime.NewImageFromLocal(imageName); newImageErr != nil { + logrus.Errorf("%s", errors.Wrapf(newImageErr, "failed creating image object")) + } else if _, errImage := runtime.RemoveImage(getContext(), newImage, false); errImage != nil { + logrus.Errorf("%s", errors.Wrapf(errImage, "failed removing image")) + } + } return err } |