code: func (cli *NetworkCli) CmdServiceDetach(chain string, args ...string) error {
  	cmd := cli.Subcmd(chain, "detach", "CONTAINER SERVICE", "Removes a container from service backend", false)
  	cmd.Require(flag.Min, 2)
  	err := cmd.ParseFlags(args, true)
  	if err != nil {
  		return err
  	}
  
  	sn, nn := parseServiceName(cmd.Arg(1))
  	containerID, err := lookupContainerID(cli, cmd.Arg(0))
  	if err != nil {
  		return err
  	}
  
  	sandboxID, err := lookupSandboxID(cli, containerID)
  	if err != nil {
  		return err
  	}
  
  	serviceID, err := lookupServiceID(cli, nn, sn)
  	if err != nil {
  		return err
  	}
  
  	_, _, err = readBody(cli.call("DELETE", "/services/"+serviceID+"/backend/"+sandboxID, nil, nil))
  	if err != nil {
  		return err
  	}
  	return nil
  }
docs: // CmdServiceDetach handles service detach UI