commands.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package commands
  2. import (
  3. "os"
  4. "github.com/docker/docker/cli/command"
  5. "github.com/docker/docker/cli/command/checkpoint"
  6. "github.com/docker/docker/cli/command/container"
  7. "github.com/docker/docker/cli/command/image"
  8. "github.com/docker/docker/cli/command/network"
  9. "github.com/docker/docker/cli/command/node"
  10. "github.com/docker/docker/cli/command/plugin"
  11. "github.com/docker/docker/cli/command/registry"
  12. "github.com/docker/docker/cli/command/service"
  13. "github.com/docker/docker/cli/command/stack"
  14. "github.com/docker/docker/cli/command/swarm"
  15. "github.com/docker/docker/cli/command/system"
  16. "github.com/docker/docker/cli/command/volume"
  17. "github.com/spf13/cobra"
  18. )
  19. // AddCommands adds all the commands from cli/command to the root command
  20. func AddCommands(cmd *cobra.Command, dockerCli *command.DockerCli) {
  21. cmd.AddCommand(
  22. node.NewNodeCommand(dockerCli),
  23. service.NewServiceCommand(dockerCli),
  24. stack.NewStackCommand(dockerCli),
  25. stack.NewTopLevelDeployCommand(dockerCli),
  26. swarm.NewSwarmCommand(dockerCli),
  27. container.NewContainerCommand(dockerCli),
  28. image.NewImageCommand(dockerCli),
  29. container.NewRunCommand(dockerCli),
  30. image.NewBuildCommand(dockerCli),
  31. network.NewNetworkCommand(dockerCli),
  32. system.NewEventsCommand(dockerCli),
  33. registry.NewLoginCommand(dockerCli),
  34. registry.NewLogoutCommand(dockerCli),
  35. registry.NewSearchCommand(dockerCli),
  36. system.NewVersionCommand(dockerCli),
  37. volume.NewVolumeCommand(dockerCli),
  38. system.NewInfoCommand(dockerCli),
  39. hide(container.NewAttachCommand(dockerCli)),
  40. hide(container.NewCommitCommand(dockerCli)),
  41. hide(container.NewCopyCommand(dockerCli)),
  42. hide(container.NewCreateCommand(dockerCli)),
  43. hide(container.NewDiffCommand(dockerCli)),
  44. hide(container.NewExecCommand(dockerCli)),
  45. hide(container.NewExportCommand(dockerCli)),
  46. hide(container.NewKillCommand(dockerCli)),
  47. hide(container.NewLogsCommand(dockerCli)),
  48. hide(container.NewPauseCommand(dockerCli)),
  49. hide(container.NewPortCommand(dockerCli)),
  50. hide(container.NewPsCommand(dockerCli)),
  51. hide(container.NewRenameCommand(dockerCli)),
  52. hide(container.NewRestartCommand(dockerCli)),
  53. hide(container.NewRmCommand(dockerCli)),
  54. hide(container.NewStartCommand(dockerCli)),
  55. hide(container.NewStatsCommand(dockerCli)),
  56. hide(container.NewStopCommand(dockerCli)),
  57. hide(container.NewTopCommand(dockerCli)),
  58. hide(container.NewUnpauseCommand(dockerCli)),
  59. hide(container.NewUpdateCommand(dockerCli)),
  60. hide(container.NewWaitCommand(dockerCli)),
  61. hide(image.NewHistoryCommand(dockerCli)),
  62. hide(image.NewImagesCommand(dockerCli)),
  63. hide(image.NewImportCommand(dockerCli)),
  64. hide(image.NewLoadCommand(dockerCli)),
  65. hide(image.NewPullCommand(dockerCli)),
  66. hide(image.NewPushCommand(dockerCli)),
  67. hide(image.NewRemoveCommand(dockerCli)),
  68. hide(image.NewSaveCommand(dockerCli)),
  69. hide(image.NewTagCommand(dockerCli)),
  70. hide(system.NewInspectCommand(dockerCli)),
  71. )
  72. checkpoint.NewCheckpointCommand(cmd, dockerCli)
  73. plugin.NewPluginCommand(cmd, dockerCli)
  74. }
  75. func hide(cmd *cobra.Command) *cobra.Command {
  76. if os.Getenv("DOCKER_HIDE_LEGACY_COMMANDS") == "" {
  77. return cmd
  78. }
  79. cmdCopy := *cmd
  80. cmdCopy.Hidden = true
  81. cmdCopy.Aliases = []string{}
  82. return &cmdCopy
  83. }