provision/docker/scheduler.go
func (s *segregatedScheduler) chooseContainerToRemove(nodes []cluster.Node, appName, process string) (string, error) {
	_, chosenNode, err := s.minMaxNodes(nodes, appName, process)
	if err != nil {
		return "", err
	}
	log.Debugf("[scheduler] Chosen node for remove a container: %#v", chosenNode)
	containerID, err := s.getContainerPreferablyFromHost(chosenNode, appName, process)
	if err != nil {
		return "", err
	}
	return containerID, err
}
func (s *segregatedScheduler) chooseContainerToRemove(nodes []cluster.Node, appName, process string) (string, error) {
	_, chosenNode, err := s.minMaxNodes(nodes, appName, process)
	if err != nil {
		return "", err
	}
	log.Debugf("[scheduler] Chosen node for remove a container: %#v", chosenNode)
	containerID, err := s.getContainerPreferablyFromHost(chosenNode, appName, process)
	if err != nil {
		return "", err
	}
	return containerID, err
}
// chooseContainerToRemove finds a container from the the node with maximum
// number of containers and returns it