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

# Type of request: This is a ...

[x] bug report
[ ] feature request

# Detailed description

Localstack docker run command contains `-p 8080:8080` twice, which results in an error. When running the following command manually, I can successfully run Localstack:

```
docker run -it -e LOCALSTACK_HOSTNAME="localhost" -e TEST_AWS_ACCOUNT_ID="000000000000" -e DEFAULT_REGION="us-east-1" \
-p 443:443 \
-p 4566:4566 \
-p 8081:8081 \
-p 4567-4617:4567-4617 \
-p 8080:8080  \
--rm --privileged --name localstack_main \
-v "/private/var/folders/01/wnz8g_c95fx81w85tpl2dx300000gn/T/localstack:/tmp/localstack" -v "/var/run/docker.sock:/var/run/docker.sock" -e DOCKER_HOST="unix:///var/run/docker.sock" -e HOST_TMP_FOLDER="/private/var/folders/01/wnz8g_c95fx81w85tpl2dx300000gn/T/localstack" "localstack/localstack"
```

**OS:** MacOS Mojave 10.14.6
**Docker version:** Docker version 19.03.8, build afacb8b

## Expected behavior

Running `localstack start` should set up the stack as expected.

## Actual behavior

Running `localstack start` results in the following Docker error:
```
docker: Error response from daemon: Ports are not available: /forwards/expose/port returned unexpected status: 500.
ERRO[0000] error waiting for container: context canceled
```

# Steps to reproduce
1. Install Localstack - `pip install localstack`
2. Run Localstack - `localstack start`
3. Error is displayed

## Command used to start LocalStack
`localstack start`

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
N/A

last_port = ports_list[i]
        if ports_list[i] > last_port + 1:
            port_ranges.append([start_port, last_port])
            start_port = ports_list[i]
        elif i >= len(ports_list) - 1:
            port_ranges.append([start_port, ports_list[i]])
        last_port = ports_list[i]
    port_mappings = ' '.join([
        '-p {start}-{end}:{start}-{end}'.format(start=entry[0], end=entry[1])
        if entry[0] < entry[1] else '-p {port}:{port}'.format(port=entry[0])
        for entry in port_ranges if not is_mapped(entry[0], entry[1])])
    if services:
        port_mappings = ''
        for port in set(service_ports.values()):
            if not is_mapped(port):
                port_mappings += ' -p {port}:{port}'.format(port=port)
    env_str = ''
    for env_var in config.CONFIG_ENV_VARS:
        value = os.environ.get(env_var, None)
        if value is not None:
            env_str += '-e %s="%s" ' % (env_var, value)
    data_dir_mount = ''
    data_dir = os.environ.get('DATA_DIR', None)
    if data_dir is not None:
        container_data_dir = '/tmp/localstack_data'
        data_dir_mount = '-v "%s:%s"' % (data_dir, container_data_dir)
        env_str += '-e DATA_DIR="%s" ' % container_data_dir
    interactive = '' if force_noninteractive or in_ci() else '-it '
    
    user_flags = '%s ' % user_flags if user_flags else user_flags