2017-06-15 14:41:54 -04:00
|
|
|
package manifest
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
"github.com/docker/cli/cli"
|
|
|
|
"github.com/docker/cli/cli/command"
|
|
|
|
|
|
|
|
"github.com/spf13/cobra"
|
|
|
|
)
|
|
|
|
|
|
|
|
// NewManifestCommand returns a cobra command for `manifest` subcommands
|
|
|
|
func NewManifestCommand(dockerCli command.Cli) *cobra.Command {
|
|
|
|
// use dockerCli as command.Cli
|
|
|
|
cmd := &cobra.Command{
|
|
|
|
Use: "manifest COMMAND",
|
|
|
|
Short: "Manage Docker image manifests and manifest lists",
|
|
|
|
Long: manifestDescription,
|
|
|
|
Args: cli.NoArgs,
|
|
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
|
|
fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
|
|
|
|
},
|
2018-01-18 16:19:33 -05:00
|
|
|
Annotations: map[string]string{"experimentalCLI": ""},
|
2017-06-15 14:41:54 -04:00
|
|
|
}
|
|
|
|
cmd.AddCommand(
|
|
|
|
newCreateListCommand(dockerCli),
|
|
|
|
newInspectCommand(dockerCli),
|
|
|
|
newAnnotateCommand(dockerCli),
|
|
|
|
newPushListCommand(dockerCli),
|
|
|
|
)
|
|
|
|
return cmd
|
|
|
|
}
|
|
|
|
|
|
|
|
var manifestDescription = `
|
|
|
|
The **docker manifest** command has subcommands for managing image manifests and
|
|
|
|
manifest lists. A manifest list allows you to use one name to refer to the same image
|
|
|
|
built for multiple architectures.
|
|
|
|
|
|
|
|
To see help for a subcommand, use:
|
|
|
|
|
|
|
|
docker manifest CMD --help
|
|
|
|
|
|
|
|
For full details on using docker manifest lists, see the registry v2 specification.
|
|
|
|
|
|
|
|
`
|