code: func (c *ContainerRuntime) Start(ccci *ccprovider.ChaincodeContainerInfo, codePackage []byte) error {
  	cname := ccci.Name + ":" + ccci.Version
  
  	lc, err := c.LaunchConfig(cname, ccci.Type)
  	if err != nil {
  		return err
  	}
  
  	chaincodeLogger.Debugf("start container: %s", cname)
  	chaincodeLogger.Debugf("start container with args: %s", strings.Join(lc.Args, " "))
  	chaincodeLogger.Debugf("start container with env:\n\t%s", strings.Join(lc.Envs, "\n\t"))
  
  	scr := container.StartContainerReq{
  		Builder: &container.PlatformBuilder{
  			Type:             ccci.Type,
  			Name:             ccci.Name,
  			Version:          ccci.Version,
  			Path:             ccci.Path,
  			CodePackage:      codePackage,
  			PlatformRegistry: c.PlatformRegistry,
  		},
  		Args:          lc.Args,
  		Env:           lc.Envs,
  		FilesToUpload: lc.Files,
  		CCID: ccintf.CCID{
  			Name:    ccci.Name,
  			Version: ccci.Version,
  		},
  	}
  
  	if err := c.Processor.Process(ccci.ContainerType, scr); err != nil {
  		return errors.WithMessage(err, "error starting container")
  	}
  
  	return nil
  }
docs: // Start launches chaincode in a runtime environment.