<!-- 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: A String[] localstack docker container names for each function.
        """
        with self.docker_container_lock:
            LOG.debug('Getting all lambda containers names.')
            cmd = '%s ps -a --filter="name=localstack_lambda_*" --format "{{.Names}}"' % self._docker_cmd()
            LOG.debug(cmd)
            cmd_result = run(cmd, asynchronous=False, stderr=subprocess.PIPE, outfile=subprocess.PIPE).strip()
            if len(cmd_result) > 0:
                container_names = cmd_result.split('\n')
            else:
                container_names = []
            return container_names
    def destroy_existing_docker_containers(self):
        """
        Stops and/or removes all lambda docker containers for localstack.
        :return: None
        """
        with self.docker_container_lock:
            container_names = self.get_all_container_names()
            LOG.debug('Removing %d containers.' % len(container_names))
            for container_name in container_names:
                cmd = '%s rm -f %s' % (self._docker_cmd(), container_name)
                LOG.debug(cmd)
                run(cmd, asynchronous=False, stderr=subprocess.PIPE, outfile=subprocess.PIPE)
    def get_docker_container_status(self, func_arn):
        """
        Determine the status of a docker container.
        :param func_arn: The ARN of the lambda function.
        :return: 1 If the container is running,
        -1 if the container exists but is not running