code: func (s *AttachedScheduler) Run(ctx context.Context, app *twelvefactor.Manifest) error {
  	if len(app.Processes) != 1 {
  		return fmt.Errorf("docker: cannot run mutliple processes with attached scheduler")
  	}
  
  	p := app.Processes[0]
  	// Attached means stdout, stdin is attached.
  	attached := p.Stdin != nil || p.Stdout != nil || p.Stderr != nil
  
  	if attached {
  		return s.dockerScheduler.Run(ctx, app)
  	} else {
  		return s.Scheduler.Run(ctx, app)
  	}
  }
docs: // Run runs attached processes using the docker scheduler, and detached
  // processes using the wrapped scheduler.