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