// NewCommitCommand creates a new cobra.Command for `docker commit` func NewCommitCommand(dockerCli *client.DockerCli) *cobra.Command { var opts commitOptions cmd := &cobra.Command{ Use: "commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]", Short: "Create a new image from a container's changes", Args: cli.RequiresRangeArgs(1, 2), RunE: func(cmd *cobra.Command, args []string) error { opts.container = args[0] if len(args) > 1 { opts.reference = args[1] } return runCommit(dockerCli, &opts) }, } cmd.SetFlagErrorFunc(flagErrorFunc) flags := cmd.Flags() flags.SetInterspersed(false) flags.BoolVarP(&opts.pause, "pause", "p", true, "Pause container during commit") flags.StringVarP(&opts.comment, "message", "m", "", "Commit message") flags.StringVarP(&opts.author, "author", "a", "", "Author (e.g., \"John Hannibal Smith <*****@*****.**>\")") opts.changes = dockeropts.NewListOpts(nil) flags.VarP(&opts.changes, "change", "c", "Apply Dockerfile instruction to the created image") // FIXME: --run is deprecated, it will be replaced with inline Dockerfile commands. flags.StringVar(&opts.config, "run", "", "This option is deprecated and will be removed in a future version in favor of inline Dockerfile-compatible commands") flags.MarkDeprecated("run", "it will be replaced with inline Dockerfile commands.") return cmd }
// NewCommitCommand creates a new cobra.Command for `docker commit` func NewCommitCommand(dockerCli *client.DockerCli) *cobra.Command { var opts commitOptions cmd := &cobra.Command{ Use: "commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]", Short: "Create a new image from a container's changes", Args: cli.RequiresRangeArgs(1, 2), RunE: func(cmd *cobra.Command, args []string) error { opts.container = args[0] if len(args) > 1 { opts.reference = args[1] } return runCommit(dockerCli, &opts) }, } flags := cmd.Flags() flags.SetInterspersed(false) flags.BoolVarP(&opts.pause, "pause", "p", true, "Pause container during commit") flags.StringVarP(&opts.comment, "message", "m", "", "Commit message") flags.StringVarP(&opts.author, "author", "a", "", "Author (e.g., \"John Hannibal Smith <*****@*****.**>\")") opts.changes = dockeropts.NewListOpts(nil) flags.VarP(&opts.changes, "change", "c", "Apply Dockerfile instruction to the created image") return cmd }
// NewPortCommand creates a new cobra.Command for `docker port` func NewPortCommand(dockerCli *client.DockerCli) *cobra.Command { var opts portOptions cmd := &cobra.Command{ Use: "port CONTAINER [PRIVATE_PORT[/PROTO]]", Short: "List port mappings or a specific mapping for the container", Args: cli.RequiresRangeArgs(1, 2), RunE: func(cmd *cobra.Command, args []string) error { opts.container = args[0] if len(args) > 1 { opts.port = args[1] } return runPort(dockerCli, &opts) }, } return cmd }
func newPsCommand(dockerCli *client.DockerCli) *cobra.Command { opts := psOptions{filter: opts.NewFilterOpt()} cmd := &cobra.Command{ Use: "ps [OPTIONS] [NODE]", Short: "List tasks running on a node, defaults to current node", Args: cli.RequiresRangeArgs(0, 1), RunE: func(cmd *cobra.Command, args []string) error { opts.nodeID = "self" if len(args) != 0 { opts.nodeID = args[0] } return runPs(dockerCli, opts) }, } flags := cmd.Flags() flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Do not truncate output") flags.BoolVar(&opts.noResolve, "no-resolve", false, "Do not map IDs to Names") flags.VarP(&opts.filter, "filter", "f", "Filter output based on conditions provided") return cmd }