code: func (v *Vibranium) RemoveContainer(opts *pb.RemoveContainerOptions, stream pb.CoreRPC_RemoveContainerServer) error {
  	v.taskAdd("RemoveContainer", true)
  	defer v.taskDone("RemoveContainer", true)
  
  	ids := opts.GetIds()
  	force := opts.GetForce()
  
  	if len(ids) == 0 {
  		return types.ErrNoContainerIDs
  	}
  
  	//这里不能让 client 打断 remove
  	ch, err := v.cluster.RemoveContainer(context.Background(), ids, force)
  	if err != nil {
  		return err
  	}
  
  	for m := range ch {
  		if err = stream.Send(toRPCRemoveContainerMessage(m)); err != nil {
  			v.logUnsentMessages("RemoveContainer", m)
  		}
  	}
  
  	return err
  }
docs: // RemoveContainer remove containers