code: func (s *Service) Up(ctx context.Context, options options.Up) error {
  	containers, err := s.collectContainers(ctx)
  	if err != nil {
  		return err
  	}
  
  	var imageName = s.imageName()
  	if len(containers) == 0 || !options.NoRecreate {
  		if err = s.ensureImageExists(ctx, options.NoBuild, options.ForceBuild); err != nil {
  			return err
  		}
  	}
  
  	return s.up(ctx, imageName, true, options)
  }
docs: // Up implements Service.Up. It builds the image if needed, creates a container
  // and start it.