code: func extractPortMapping(portMappings []portMapping, containerNet bool) ([]uint32, []map[string]string) {
  
  	ports := make([]uint32, len(portMappings))
  	labels := make([]map[string]string, len(portMappings))
  
  	for i := 0; i < len(portMappings); i++ {
  
  		labels[i] = portMappings[i].Labels
  
  		if containerNet {
  			// If the app is in a container network, connect directly to the container port.
  			ports[i] = portMappings[i].ContainerPort
  		} else {
  			// Otherwise, connect to the allocated host port for the container.
  			// Note that this host port is likely set to 0 in the app definition, which means it is
  			// automatically generated and needs to be extracted from the task's 'ports' array at a later stage.
  			ports[i] = portMappings[i].HostPort
  		}
  	}
  
  	return ports, labels
  }
docs: // Get a list of ports and a list of labels from a PortMapping.