### Is there an existing issue for this?

- [X] I have searched the existing issues

### Feature description

Allow lambda container to have multiple networks not just one.
With the current implementation Lambda network only gets a single network, even though the Localstack container accepts multiple network values.
this is how it works currently:

> Gets the main network of the LocalStack container (if we run in one, bridge otherwise)
    If there are multiple networks connected to the LocalStack container, we choose the first as "main" network

### 🧑‍💻 Implementation

This is where the "main" network value is retrieved, may be it should be a List?
https://github.com/localstack/localstack/blob/a71e661fa6b0189e54b468713f710f0ae1b93791/localstack/utils/container_networking.py#L14

### Anything else?

_No response_
if runtime not in IMAGE_MAPPING:
            raise ValueError(f"Unsupported runtime {runtime}")
        if not custom_image_mapping:
            return self._default_resolve_fn(runtime)
        
        if "<runtime>" in custom_image_mapping:
            return custom_image_mapping.replace("<runtime>", runtime)
        
        try:
            mapping: dict = json.loads(custom_image_mapping)
            
            for k, v in mapping.items():
                if k not in IMAGE_MAPPING:
                    raise ValueError(
                        f"Unsupported runtime ({runtime}) provided in LAMBDA_RUNTIME_IMAGE_MAPPING"
                    )
                self._mapping[k] = v
            if runtime in self._mapping:
                return self._mapping[runtime]
            
            return self._default_resolve_fn(runtime)
        except Exception:
            LOG.error(
                f"Failed to load config from LAMBDA_RUNTIME_IMAGE_MAPPING={custom_image_mapping}"
            )
            raise  
    def get_image_for_runtime(self, runtime: Runtime) -> str: