github.1git.de/docker/cli@v26.1.3+incompatible/cli/command/commands/commands.go (about) 1 package commands 2 3 import ( 4 "os" 5 6 "github.com/docker/cli/cli/command" 7 "github.com/docker/cli/cli/command/builder" 8 "github.com/docker/cli/cli/command/checkpoint" 9 "github.com/docker/cli/cli/command/config" 10 "github.com/docker/cli/cli/command/container" 11 "github.com/docker/cli/cli/command/context" 12 "github.com/docker/cli/cli/command/image" 13 "github.com/docker/cli/cli/command/manifest" 14 "github.com/docker/cli/cli/command/network" 15 "github.com/docker/cli/cli/command/node" 16 "github.com/docker/cli/cli/command/plugin" 17 "github.com/docker/cli/cli/command/registry" 18 "github.com/docker/cli/cli/command/secret" 19 "github.com/docker/cli/cli/command/service" 20 "github.com/docker/cli/cli/command/stack" 21 "github.com/docker/cli/cli/command/swarm" 22 "github.com/docker/cli/cli/command/system" 23 "github.com/docker/cli/cli/command/trust" 24 "github.com/docker/cli/cli/command/volume" 25 "github.com/spf13/cobra" 26 ) 27 28 // AddCommands adds all the commands from cli/command to the root command 29 func AddCommands(cmd *cobra.Command, dockerCli command.Cli) { 30 cmd.AddCommand( 31 // commonly used shorthands 32 container.NewRunCommand(dockerCli), 33 container.NewExecCommand(dockerCli), 34 container.NewPsCommand(dockerCli), 35 image.NewBuildCommand(dockerCli), 36 image.NewPullCommand(dockerCli), 37 image.NewPushCommand(dockerCli), 38 image.NewImagesCommand(dockerCli), 39 registry.NewLoginCommand(dockerCli), 40 registry.NewLogoutCommand(dockerCli), 41 registry.NewSearchCommand(dockerCli), 42 system.NewVersionCommand(dockerCli), 43 system.NewInfoCommand(dockerCli), 44 45 // management commands 46 builder.NewBuilderCommand(dockerCli), 47 checkpoint.NewCheckpointCommand(dockerCli), 48 container.NewContainerCommand(dockerCli), 49 context.NewContextCommand(dockerCli), 50 image.NewImageCommand(dockerCli), 51 manifest.NewManifestCommand(dockerCli), 52 network.NewNetworkCommand(dockerCli), 53 plugin.NewPluginCommand(dockerCli), 54 system.NewSystemCommand(dockerCli), 55 trust.NewTrustCommand(dockerCli), 56 volume.NewVolumeCommand(dockerCli), 57 58 // orchestration (swarm) commands 59 config.NewConfigCommand(dockerCli), 60 node.NewNodeCommand(dockerCli), 61 secret.NewSecretCommand(dockerCli), 62 service.NewServiceCommand(dockerCli), 63 stack.NewStackCommand(dockerCli), 64 swarm.NewSwarmCommand(dockerCli), 65 66 // legacy commands may be hidden 67 hide(container.NewAttachCommand(dockerCli)), 68 hide(container.NewCommitCommand(dockerCli)), 69 hide(container.NewCopyCommand(dockerCli)), 70 hide(container.NewCreateCommand(dockerCli)), 71 hide(container.NewDiffCommand(dockerCli)), 72 hide(container.NewExportCommand(dockerCli)), 73 hide(container.NewKillCommand(dockerCli)), 74 hide(container.NewLogsCommand(dockerCli)), 75 hide(container.NewPauseCommand(dockerCli)), 76 hide(container.NewPortCommand(dockerCli)), 77 hide(container.NewRenameCommand(dockerCli)), 78 hide(container.NewRestartCommand(dockerCli)), 79 hide(container.NewRmCommand(dockerCli)), 80 hide(container.NewStartCommand(dockerCli)), 81 hide(container.NewStatsCommand(dockerCli)), 82 hide(container.NewStopCommand(dockerCli)), 83 hide(container.NewTopCommand(dockerCli)), 84 hide(container.NewUnpauseCommand(dockerCli)), 85 hide(container.NewUpdateCommand(dockerCli)), 86 hide(container.NewWaitCommand(dockerCli)), 87 hide(image.NewHistoryCommand(dockerCli)), 88 hide(image.NewImportCommand(dockerCli)), 89 hide(image.NewLoadCommand(dockerCli)), 90 hide(image.NewRemoveCommand(dockerCli)), 91 hide(image.NewSaveCommand(dockerCli)), 92 hide(image.NewTagCommand(dockerCli)), 93 hide(system.NewEventsCommand(dockerCli)), 94 hide(system.NewInspectCommand(dockerCli)), 95 ) 96 } 97 98 func hide(cmd *cobra.Command) *cobra.Command { 99 // If the environment variable with name "DOCKER_HIDE_LEGACY_COMMANDS" is not empty, 100 // these legacy commands (such as `docker ps`, `docker exec`, etc) 101 // will not be shown in output console. 102 if os.Getenv("DOCKER_HIDE_LEGACY_COMMANDS") == "" { 103 return cmd 104 } 105 cmdCopy := *cmd 106 cmdCopy.Hidden = true 107 cmdCopy.Aliases = []string{} 108 return &cmdCopy 109 }