<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a bug report

# Detailed description
When running a java lambda in localstack with `LAMBDA_EXECUTOR=docker` and  `LAMBDA_JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"` (replaced `_debug_port_` with `5005`), the port is not opened in the lambda execution docker container.

Looking at `Util.get_java_opts` in `localstack/services/awslambda/lambda_executors.py`, `debug_java_port` is not set in case `_debug_port_` is set

```
class Util:
    debug_java_port = False

    @classmethod
    def get_java_opts(cls):
        opts = config.LAMBDA_JAVA_OPTS or ''
        if '_debug_port_' in opts:
            if not cls.debug_java_port:
                cls.debug_java_port = get_free_tcp_port() ### <<< debug_java_port is only set here
            opts = opts.replace('_debug_port_', ('%s' % cls.debug_java_port))
        ### In other case, `cls.debug_java_port` is not set.
        return opts
```
## Expected behavior

`debug_java_port` should be set to the configured port

## Actual behavior

`debug_java_port` is empty

# Steps to reproduce
docker-compose file
```
version: '2.1'
services:
  localstack:
    container_name: localstack
    image: localstack/localstack
    privileged: true
    ports:
      - "4567-4582:4567-4582"
      - "9070:9070"
    environment:
      SERVICES: sqs,lambda
      DOCKER_HOST: unix:///var/run/docker.sock
      PORT_WEB_UI: 9070
      LAMBDA_EXECUTOR: docker
      LAMBDA_JAVA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
      DEBUG: 1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /tmp/localstack:/tmp/localstack
```

## Command used to start LocalStack

`docker-compose up`


return ''
            
            container_name = self.get_container_name(func_arn)
            docker_cmd = self._docker_cmd()
            
            LOG.debug('Getting container network: %s' % container_name)
            cmd = (
                '%s inspect %s'
                ' --format "{{ .HostConfig.NetworkMode }}"'
            ) % (docker_cmd, container_name)
            LOG.debug(cmd)
            cmd_result = run(cmd, asynchronous=False, stderr=subprocess.PIPE, outfile=subprocess.PIPE)
            container_network = cmd_result.strip()
            return container_network
    def idle_container_destroyer(self):
        """
        Iterates though all the lambda containers and destroys any container that has
        been inactive for longer than MAX_CONTAINER_IDLE_TIME_MS.
        :return: None
        """
        LOG.info('Checking if there are idle containers.')
        current_time = int(time.time() * 1000)
        for func_arn, last_run_time in dict(self.function_invoke_times).items():
            duration = current_time - last_run_time
            
            if duration < MAX_CONTAINER_IDLE_TIME_MS:
                continue
            
            self.destroy_docker_container(func_arn)
    def start_idle_container_destroyer_interval(self):