<!-- 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`


self.assertEqual('Disabled', getResult['State'])
    def test_publish_function_version(self):
        with self.app.test_request_context():
            self._create_function(self.FUNCTION_NAME)
            result = json.loads(lambda_api.publish_version(self.FUNCTION_NAME).get_data())
            result2 = json.loads(lambda_api.publish_version(self.FUNCTION_NAME).get_data())
            result.pop('RevisionId', None)  
            result2.pop('RevisionId', None)  
            expected_result = dict()
            expected_result['CodeSize'] = self.CODE_SIZE
            expected_result['CodeSha256'] = self.CODE_SHA_256
            expected_result['FunctionArn'] = str(lambda_api.func_arn(self.FUNCTION_NAME)) + ':1'
            expected_result['FunctionName'] = str(self.FUNCTION_NAME)
            expected_result['Handler'] = str(self.HANDLER)
            expected_result['Runtime'] = str(self.RUNTIME)
            expected_result['Timeout'] = self.TIMEOUT
            expected_result['Description'] = ''
            expected_result['MemorySize'] = self.MEMORY_SIZE
            expected_result['Role'] = self.ROLE
            expected_result['LastModified'] = self.LAST_MODIFIED
            expected_result['TracingConfig'] = self.TRACING_CONFIG
            expected_result['Version'] = '1'
            expected_result['State'] = 'Active'
            expected_result['LastUpdateStatus'] = 'Successful'
            expected_result2 = dict(expected_result)
            expected_result2['FunctionArn'] = str(lambda_api.func_arn(self.FUNCTION_NAME)) + ':2'
            expected_result2['Version'] = '2'
            self.assertDictEqual(expected_result, result)
            self.assertDictEqual(expected_result2, result2)
    def test_publish_non_existant_function_version_returns_error(self):