code: func (c *container) Run(cmds []string, targeted bool, detachFlag bool) {
  	adHoc := (len(cmds) > 0)
  	if !adHoc {
  		c.Rm(true, false)
  	}
  	msg := "Running container %s"
  	if adHoc {
  		msg += " (ad-hoc)"
  	}
  	fmt.Fprintf(c.CommandsOut(), msg+" ...\n", c.ActualName(adHoc))
  
  	args := append([]string{"create"}, c.createArgs(cmds)...)
  	// Hide output of container ID, the name of the container
  	// is printed later anyway when it is started.
  	executeCommand("docker", args, nil, c.CommandsErr())
  
  	c.connectWithNetworks(adHoc)
  
  	c.start(adHoc, targeted, detachFlag)
  }
docs: // Run container (possibly removes existing one)
  // Implemented as create+start as we also need to connect to networks,
  // and that might fail if we used "docker run" and
  // have a very short-lived container.