summaryrefslogtreecommitdiff
path: root/cmd/podman/containers/start.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman/containers/start.go')
-rw-r--r--cmd/podman/containers/start.go35
1 files changed, 21 insertions, 14 deletions
diff --git a/cmd/podman/containers/start.go b/cmd/podman/containers/start.go
index 21f31d360..dba2c3c3e 100644
--- a/cmd/podman/containers/start.go
+++ b/cmd/podman/containers/start.go
@@ -4,6 +4,7 @@ import (
"fmt"
"os"
+ "github.com/containers/podman/v2/cmd/podman/common"
"github.com/containers/podman/v2/cmd/podman/registry"
"github.com/containers/podman/v2/cmd/podman/utils"
"github.com/containers/podman/v2/cmd/podman/validate"
@@ -11,26 +12,27 @@ import (
"github.com/containers/podman/v2/pkg/domain/entities"
"github.com/pkg/errors"
"github.com/spf13/cobra"
- "github.com/spf13/pflag"
)
var (
startDescription = `Starts one or more containers. The container name or ID can be used.`
startCommand = &cobra.Command{
- Use: "start [options] CONTAINER [CONTAINER...]",
- Short: "Start one or more containers",
- Long: startDescription,
- RunE: start,
+ Use: "start [options] CONTAINER [CONTAINER...]",
+ Short: "Start one or more containers",
+ Long: startDescription,
+ RunE: start,
+ ValidArgsFunction: common.AutocompleteContainersStartable,
Example: `podman start --latest
podman start 860a4b231279 5421ab43b45
podman start --interactive --attach imageID`,
}
containerStartCommand = &cobra.Command{
- Use: startCommand.Use,
- Short: startCommand.Short,
- Long: startCommand.Long,
- RunE: startCommand.RunE,
+ Use: startCommand.Use,
+ Short: startCommand.Short,
+ Long: startCommand.Long,
+ RunE: startCommand.RunE,
+ ValidArgsFunction: startCommand.ValidArgsFunction,
Example: `podman container start --latest
podman container start 860a4b231279 5421ab43b45
podman container start --interactive --attach imageID`,
@@ -41,9 +43,15 @@ var (
startOptions entities.ContainerStartOptions
)
-func startFlags(flags *pflag.FlagSet) {
+func startFlags(cmd *cobra.Command) {
+ flags := cmd.Flags()
+
flags.BoolVarP(&startOptions.Attach, "attach", "a", false, "Attach container's STDOUT and STDERR")
- flags.StringVar(&startOptions.DetachKeys, "detach-keys", containerConfig.DetachKeys(), "Select the key sequence for detaching a container. Format is a single character `[a-Z]` or a comma separated sequence of `ctrl-<value>`, where `<value>` is one of: `a-z`, `@`, `^`, `[`, `\\`, `]`, `^` or `_`")
+
+ detachKeysFlagName := "detach-keys"
+ flags.StringVar(&startOptions.DetachKeys, detachKeysFlagName, containerConfig.DetachKeys(), "Select the key sequence for detaching a container. Format is a single character `[a-Z]` or a comma separated sequence of `ctrl-<value>`, where `<value>` is one of: `a-z`, `@`, `^`, `[`, `\\`, `]`, `^` or `_`")
+ _ = cmd.RegisterFlagCompletionFunc(detachKeysFlagName, common.AutocompleteDetachKeys)
+
flags.BoolVarP(&startOptions.Interactive, "interactive", "i", false, "Keep STDIN open even if not attached")
flags.BoolVar(&startOptions.SigProxy, "sig-proxy", false, "Proxy received signals to the process (default true if attaching, false otherwise)")
@@ -56,7 +64,7 @@ func init() {
Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
Command: startCommand,
})
- startFlags(startCommand.Flags())
+ startFlags(startCommand)
validate.AddLatestFlag(startCommand, &startOptions.Latest)
registry.Commands = append(registry.Commands, registry.CliCommand{
@@ -64,9 +72,8 @@ func init() {
Command: containerStartCommand,
Parent: containerCmd,
})
- startFlags(containerStartCommand.Flags())
+ startFlags(containerStartCommand)
validate.AddLatestFlag(containerStartCommand, &startOptions.Latest)
-
}
func start(cmd *cobra.Command, args []string) error {