mirror of
https://github.com/docker/cli.git
synced 2026-01-13 18:22:35 +03:00
remove undocumented top-level "docker remove" command
This was introduced in9b54d860cd, which added `docker container remove` as alias for `docker container rm`. However, due to the `NewRmCommand` being used both for adding the top-level `docker rm` command and for adding the `docker container rm` command, it also introduced a (hidden) top-level `docker remove` command; docker remove --help | head -n1 Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] The command was not documented, and did not appear in `--help` output, nor was auto-complete provided; docker --help | grep remove docker r<TAB> rename (Rename a container) rm (Remove one or more containers) run (Create and run a new container from an image) restart (Restart one or more containers) rmi (Remove one or more images) This patch adds a dedicated, non-exported `newRemoveCommand` to add sub- commands for `docker container`, taking a similar approach as was done in [moby@b993609d5a] for `docker image rm`. With this patch applied, the hidden command is no longer there, but the `docker rm`, `docker container rm`, and `docker container remove` commands stay functional as intended; docker remove foo docker: unknown command: docker remove Run 'docker --help' for more information docker rm --help | head -n1 Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] docker container rm --help | head -n1 Usage: docker container rm [OPTIONS] CONTAINER [CONTAINER...] docker container remove --help | head -n1 Usage: docker container rm [OPTIONS] CONTAINER [CONTAINER...] [moby@b993609d5a]:b993609d5aReported-by: Lorenzo Buero <138243046+LorenzoBuero@users.noreply.github.com> Co-authored-by: Lorenzo Buero <138243046+LorenzoBuero@users.noreply.github.com> Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -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),
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user