diff --git a/cli/command/container/create.go b/cli/command/container/create.go index 55b09a22c..13fa0a499 100644 --- a/cli/command/container/create.go +++ b/cli/command/container/create.go @@ -84,7 +84,8 @@ func newCreateCommand(dockerCLI command.Cli) *cobra.Command { flags.Bool("help", false, "Print usage") // TODO(thaJeztah): consider adding platform as "image create option" on containerOptions - addPlatformFlag(flags, &options.platform) + flags.StringVar(&options.platform, "platform", os.Getenv("DOCKER_DEFAULT_PLATFORM"), "Set platform if server is multi-platform capable") + _ = flags.SetAnnotation("platform", "version", []string{"1.32"}) _ = cmd.RegisterFlagCompletionFunc("platform", completion.Platforms()) flags.BoolVar(&options.untrusted, "disable-content-trust", !trust.Enabled(), "Skip image verification") diff --git a/cli/command/container/opts.go b/cli/command/container/opts.go index 2c39d56f1..723537e87 100644 --- a/cli/command/container/opts.go +++ b/cli/command/container/opts.go @@ -141,16 +141,6 @@ type containerOptions struct { Args []string } -// addPlatformFlag adds "--platform" to a set of flags for API version 1.32 and -// later, using the value of "DOCKER_DEFAULT_PLATFORM" (if set) as a default. -// -// It should not be used for new uses, which may have a different API version -// requirement. -func addPlatformFlag(flags *pflag.FlagSet, target *string) { - flags.StringVar(target, "platform", os.Getenv("DOCKER_DEFAULT_PLATFORM"), "Set platform if server is multi-platform capable") - _ = flags.SetAnnotation("platform", "version", []string{"1.32"}) -} - // addFlags adds all command line flags that will be used by parse to the FlagSet func addFlags(flags *pflag.FlagSet) *containerOptions { copts := &containerOptions{ diff --git a/cli/command/container/run.go b/cli/command/container/run.go index a8630f825..f2c634fd0 100644 --- a/cli/command/container/run.go +++ b/cli/command/container/run.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "io" + "os" "strings" "syscall" @@ -70,7 +71,8 @@ func newRunCommand(dockerCLI command.Cli) *cobra.Command { flags.Bool("help", false, "Print usage") // TODO(thaJeztah): consider adding platform as "image create option" on containerOptions - addPlatformFlag(flags, &options.platform) + flags.StringVar(&options.platform, "platform", os.Getenv("DOCKER_DEFAULT_PLATFORM"), "Set platform if server is multi-platform capable") + _ = flags.SetAnnotation("platform", "version", []string{"1.32"}) flags.BoolVar(&options.untrusted, "disable-content-trust", !trust.Enabled(), "Skip image verification") copts = addFlags(flags) diff --git a/cli/command/image/import.go b/cli/command/image/import.go index 2a9f9d329..8af28c8de 100644 --- a/cli/command/image/import.go +++ b/cli/command/image/import.go @@ -48,7 +48,8 @@ func newImportCommand(dockerCLI command.Cli) *cobra.Command { options.changes = dockeropts.NewListOpts(nil) flags.VarP(&options.changes, "change", "c", "Apply Dockerfile instruction to the created image") flags.StringVarP(&options.message, "message", "m", "", "Set commit message for imported image") - addPlatformFlag(flags, &options.platform) + flags.StringVar(&options.platform, "platform", os.Getenv("DOCKER_DEFAULT_PLATFORM"), "Set platform if server is multi-platform capable") + _ = flags.SetAnnotation("platform", "version", []string{"1.32"}) _ = cmd.RegisterFlagCompletionFunc("platform", completion.Platforms()) return cmd diff --git a/cli/command/image/pull.go b/cli/command/image/pull.go index 1bfbbed2d..7df515f52 100644 --- a/cli/command/image/pull.go +++ b/cli/command/image/pull.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "io" + "os" "github.com/distribution/reference" "github.com/docker/cli/cli" @@ -54,10 +55,9 @@ func newPullCommand(dockerCLI command.Cli) *cobra.Command { flags.BoolVarP(&opts.all, "all-tags", "a", false, "Download all tagged images in the repository") flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Suppress verbose output") - - addPlatformFlag(flags, &opts.platform) flags.BoolVar(&opts.untrusted, "disable-content-trust", !trust.Enabled(), "Skip image verification") - + flags.StringVar(&opts.platform, "platform", os.Getenv("DOCKER_DEFAULT_PLATFORM"), "Set platform if server is multi-platform capable") + _ = flags.SetAnnotation("platform", "version", []string{"1.32"}) _ = cmd.RegisterFlagCompletionFunc("platform", completion.Platforms()) return cmd