code: func (e *fileExtractor) ExtractProcfile(ctx context.Context, img image.Image, w *jsonmessage.Stream) ([]byte, error) {
  	c, err := e.createContainer(ctx, img)
  	if err != nil {
  		return nil, err
  	}
  
  	defer e.removeContainer(ctx, c.ID)
  
  	pfile, err := e.procfile(ctx, c.ID)
  	if err != nil {
  		return nil, err
  	}
  
  	b, err := e.copyFile(ctx, c.ID, pfile)
  	if err != nil {
  		return nil, &empire.ProcfileError{Err: err}
  	}
  
  	w.Encode(jsonmessage.JSONMessage{
  		Status: fmt.Sprintf("Status: Extracted Procfile from %q", pfile),
  	})
  
  	return b, nil
  }
docs: // Extract implements Extractor Extract.