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

self.process = run(self.cmd, asynchronous=True)
    print(docker_cmd)
    t = ShellRunnerThread(docker_cmd)
    t.start()
    time.sleep(2)
    if DO_CHMOD_DOCKER_SOCK:
        
        for i in range(0, 100):
            if docker_container_running(container_name):
                break
            time.sleep(2)
        run('%s exec -u root "%s" chmod 777 /var/run/docker.sock' % (config.DOCKER_CMD, container_name))
    t.process.wait()
    sys.exit(t.process.returncode)
def now_utc():
    epoch = datetime.utcfromtimestamp(0)
    return (datetime.utcnow() - epoch).total_seconds()
def to_str(obj, errors='strict'):
    return obj.decode('utf-8', errors) if isinstance(obj, six.binary_type) else obj
def in_ci():
    """ Whether or not we are running in a CI environment """
    for key in ('CI', 'TRAVIS'):
        if os.environ.get(key, '') not in [False, '', '0', 'false']:
            return True
    return False
class FuncThread(threading.Thread):
    """ Helper class to run a Python function in a background thread. """
    def __init__(self, func, params=None, quiet=False):