pass interactive flag to ExecOptions for the RunExec command

Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
This commit is contained in:
Guillaume Lours 2022-03-25 23:16:46 +01:00 committed by Nicolas De loof
parent be187bae64
commit b7fd6eb7d8

View File

@ -35,11 +35,12 @@ type execOpts struct {
environment []string environment []string
workingDir string workingDir string
noTty bool noTty bool
user string user string
detach bool detach bool
index int index int
privileged bool privileged bool
interactive bool
} }
func execCommand(p *projectOptions, dockerCli command.Cli, backend api.Service) *cobra.Command { func execCommand(p *projectOptions, dockerCli command.Cli, backend api.Service) *cobra.Command {
@ -71,7 +72,7 @@ func execCommand(p *projectOptions, dockerCli command.Cli, backend api.Service)
runCmd.Flags().BoolVarP(&opts.noTty, "no-TTY", "T", !dockerCli.Out().IsTerminal(), "Disable pseudo-TTY allocation. By default `docker compose exec` allocates a TTY.") runCmd.Flags().BoolVarP(&opts.noTty, "no-TTY", "T", !dockerCli.Out().IsTerminal(), "Disable pseudo-TTY allocation. By default `docker compose exec` allocates a TTY.")
runCmd.Flags().StringVarP(&opts.workingDir, "workdir", "w", "", "Path to workdir directory for this command.") runCmd.Flags().StringVarP(&opts.workingDir, "workdir", "w", "", "Path to workdir directory for this command.")
runCmd.Flags().BoolP("interactive", "i", true, "Keep STDIN open even if not attached.") runCmd.Flags().BoolVarP(&opts.interactive, "interactive", "i", true, "Keep STDIN open even if not attached.")
runCmd.Flags().MarkHidden("interactive") //nolint:errcheck runCmd.Flags().MarkHidden("interactive") //nolint:errcheck
runCmd.Flags().BoolP("tty", "t", true, "Allocate a pseudo-TTY.") runCmd.Flags().BoolP("tty", "t", true, "Allocate a pseudo-TTY.")
runCmd.Flags().MarkHidden("tty") //nolint:errcheck runCmd.Flags().MarkHidden("tty") //nolint:errcheck
@ -103,6 +104,7 @@ func runExec(ctx context.Context, backend api.Service, opts execOpts) error {
Index: opts.index, Index: opts.index,
Detach: opts.detach, Detach: opts.detach,
WorkingDir: opts.workingDir, WorkingDir: opts.workingDir,
Interactive: opts.interactive,
} }
exitCode, err := backend.Exec(ctx, projectName, execOpts) exitCode, err := backend.Exec(ctx, projectName, execOpts)