diff --git a/cli/command/container/cmd.go b/cli/command/container/cmd.go index dcf8116ef1d0..4ff00e74b591 100644 --- a/cli/command/container/cmd.go +++ b/cli/command/container/cmd.go @@ -28,7 +28,7 @@ func NewContainerCommand(dockerCli command.Cli) *cobra.Command { NewPortCommand(dockerCli), NewRenameCommand(dockerCli), NewRestartCommand(dockerCli), - NewRmCommand(dockerCli), + newRemoveCommand(dockerCli), NewRunCommand(dockerCli), NewStartCommand(dockerCli), NewStatsCommand(dockerCli), diff --git a/cli/command/container/rm.go b/cli/command/container/rm.go index c36f523a5ca9..3206bb59924c 100644 --- a/cli/command/container/rm.go +++ b/cli/command/container/rm.go @@ -27,10 +27,9 @@ func NewRmCommand(dockerCli command.Cli) *cobra.Command { var opts rmOptions cmd := &cobra.Command{ - Use: "rm [OPTIONS] CONTAINER [CONTAINER...]", - Aliases: []string{"remove"}, - Short: "Remove one or more containers", - Args: cli.RequiresMinArgs(1), + Use: "rm [OPTIONS] CONTAINER [CONTAINER...]", + Short: "Remove one or more containers", + Args: cli.RequiresMinArgs(1), RunE: func(cmd *cobra.Command, args []string) error { opts.containers = args return runRm(cmd.Context(), dockerCli, &opts) @@ -50,6 +49,15 @@ func NewRmCommand(dockerCli command.Cli) *cobra.Command { return cmd } +// newRemoveCommand adds subcommands for "docker container"; unlike the +// top-level "docker rm", it also adds a "remove" alias to support +// "docker container remove" in addition to "docker container rm". +func newRemoveCommand(dockerCli command.Cli) *cobra.Command { + cmd := *NewRmCommand(dockerCli) + cmd.Aliases = []string{"rm", "remove"} + return &cmd +} + func runRm(ctx context.Context, dockerCLI command.Cli, opts *rmOptions) error { apiClient := dockerCLI.Client() errChan := parallelOperation(ctx, opts.containers, func(ctx context.Context, ctrID string) error {