diff --git a/command/image/build.go b/command/image/build.go index 17be405bd5..51d0ea9f08 100644 --- a/command/image/build.go +++ b/command/image/build.go @@ -55,6 +55,7 @@ type buildOptions struct { rm bool forceRm bool pull bool + cacheFrom []string } // NewBuildCommand creates a new `docker build` command @@ -98,6 +99,7 @@ func NewBuildCommand(dockerCli *command.DockerCli) *cobra.Command { flags.BoolVar(&options.forceRm, "force-rm", false, "Always remove intermediate containers") flags.BoolVarP(&options.quiet, "quiet", "q", false, "Suppress the build output and print image ID on success") flags.BoolVar(&options.pull, "pull", false, "Always attempt to pull a newer version of the image") + flags.StringSliceVar(&options.cacheFrom, "cache-from", []string{}, "Images to consider as cache sources") command.AddTrustedFlags(flags, true) @@ -289,6 +291,7 @@ func runBuild(dockerCli *command.DockerCli, options buildOptions) error { BuildArgs: runconfigopts.ConvertKVStringsToMap(options.buildArgs.GetAll()), AuthConfigs: authConfig, Labels: runconfigopts.ConvertKVStringsToMap(options.labels), + CacheFrom: options.cacheFrom, } response, err := dockerCli.Client().ImageBuild(ctx, body, buildOptions)