code: func GenerateKey(containerID string) string {
  	maxLen := 12
  	// Read sandbox key from host for overlay
  	if strings.HasPrefix(containerID, "-") {
  		var (
  			index    int
  			indexStr string
  			tmpkey   string
  		)
  		dir, err := ioutil.ReadDir(basePath())
  		if err != nil {
  			return ""
  		}
  
  		for _, v := range dir {
  			id := v.Name()
  			if strings.HasSuffix(id, containerID[:maxLen-1]) {
  				indexStr = strings.TrimSuffix(id, containerID[:maxLen-1])
  				tmpindex, err := strconv.Atoi(indexStr)
  				if err != nil {
  					return ""
  				}
  				if tmpindex > index {
  					index = tmpindex
  					tmpkey = id
  				}
  
  			}
  		}
  		containerID = tmpkey
  		if containerID == "" {
  			return ""
  		}
  	}
  
  	if len(containerID) < maxLen {
  		maxLen = len(containerID)
  	}
  
  	return basePath() + "/" + containerID[:maxLen]
  }
docs: // GenerateKey generates a sandbox key based on the passed
  // container id.