code: func (cgc *containerGC) evictableContainers(minAge time.Duration) (containersByEvictUnit, error) {
  	containers, err := cgc.manager.getKubeletContainers(true)
  	if err != nil {
  		return containersByEvictUnit{}, err
  	}
  
  	evictUnits := make(containersByEvictUnit)
  	newestGCTime := time.Now().Add(-minAge)
  	for _, container := range containers {
  		// Prune out running containers.
  		if container.State == runtimeapi.ContainerState_CONTAINER_RUNNING {
  			continue
  		}
  
  		createdAt := time.Unix(0, container.CreatedAt)
  		if newestGCTime.Before(createdAt) {
  			continue
  		}
  
  		labeledInfo := getContainerInfoFromLabels(container.Labels)
  		containerInfo := containerGCInfo{
  			id:         container.Id,
  			name:       container.Metadata.Name,
  			createTime: createdAt,
  			unknown:    container.State == runtimeapi.ContainerState_CONTAINER_UNKNOWN,
  		}
  		key := evictUnit{
  			uid:  labeledInfo.PodUID,
  			name: containerInfo.name,
  		}
  		evictUnits[key] = append(evictUnits[key], containerInfo)
  	}
  
  	// Sort the containers by age.
  	for uid := range evictUnits {
  		sort.Sort(byCreated(evictUnits[uid]))
  	}
  
  	return evictUnits, nil
  }
docs: // evictableContainers gets all containers that are evictable. Evictable containers are: not running
  // and created more than MinAge ago.