code: func dispatchCopy(d dispatchRequest, c *instructions.CopyCommand) error {
  	var im *imageMount
  	var err error
  	if c.From != "" {
  		im, err = d.getImageMount(c.From)
  		if err != nil {
  			return errors.Wrapf(err, "invalid from flag value %s", c.From)
  		}
  	}
  	copier := copierFromDispatchRequest(d, errOnSourceDownload, im)
  	defer copier.Cleanup()
  	copyInstruction, err := copier.createCopyInstruction(c.SourcesAndDest, "COPY")
  	if err != nil {
  		return err
  	}
  	copyInstruction.chownStr = c.Chown
  	if c.From != "" && copyInstruction.chownStr == "" {
  		copyInstruction.preserveOwnership = true
  	}
  	return d.builder.performCopy(d, copyInstruction)
  }
docs: // COPY foo /path
  //
  // Same as 'ADD' but without the tar and remote url handling.
  //