diff --git a/cmd/nerdctl/compose/compose_run.go b/cmd/nerdctl/compose/compose_run.go index bbfd98d8008..16ce6a60f2f 100644 --- a/cmd/nerdctl/compose/compose_run.go +++ b/cmd/nerdctl/compose/compose_run.go @@ -51,8 +51,8 @@ func runCommand() *cobra.Command { cmd.Flags().Bool("no-deps", false, "Don't start dependencies") // TODO: no-TTY flag // In docker-compose's documentation, no-TTY is automatically detected - // But, it follows `-i` flag because currently `run` command needs `-it` simultaneously. cmd.Flags().BoolP("interactive", "i", true, "Keep STDIN open even if not attached") + cmd.Flags().BoolP("tty", "t", false, "Allocate a pseudo-TTY") cmd.Flags().Bool("rm", false, "Automatically remove the container when it exits") cmd.Flags().StringP("user", "u", "", "Username or UID (format: [:])") cmd.Flags().StringArrayP("volume", "v", nil, "Bind mount a volume") @@ -119,8 +119,10 @@ func runAction(cmd *cobra.Command, args []string) error { if err != nil { return err } - // FIXME : https://github.com/containerd/nerdctl/blob/v0.22.2/cmd/nerdctl/run.go#L100 - tty := interactive + tty, err := cmd.Flags().GetBool("tty") + if err != nil { + return err + } rm, err := cmd.Flags().GetBool("rm") if err != nil { return err diff --git a/pkg/composer/up_service.go b/pkg/composer/up_service.go index fb9b1ed9fbb..c7a402d8809 100644 --- a/pkg/composer/up_service.go +++ b/pkg/composer/up_service.go @@ -133,10 +133,7 @@ func (c *Composer) upServiceContainer(ctx context.Context, service *serviceparse return "", fmt.Errorf("error while checking for containers with name %q: %w", container.Name, err) } - // FIXME - if service.Unparsed.StdinOpen != service.Unparsed.Tty { - return "", fmt.Errorf("currently StdinOpen(-i) and Tty(-t) should be same") - } + // StdinOpen(-i) and Tty(-t) can be specified independently var runFlagD bool if !service.Unparsed.StdinOpen && !service.Unparsed.Tty {