I'm trying to use below AWS services using  docker-compose which looks like below:
version: '2.1'

```
services:
  localstack:
    container_name: localstack-main
    image: localstack/localstack
    ports:
      - "4566-4599:4566-4599"
      - "9000:9000"
    environment:
      - SERVICES=sns,sqs,iam,sts or sns:4575,sqs:4576 etc.
      - DEBUG=1
      - DEFAULT_REGION=eu-west-1
      - DATA_DIR=/tmp/localstack/data
      - AWS_ACCESS_KEY_ID=dummyaccess
      - AWS_SECRET_ACCESS_KEY=dummysecret
      - DOCKER_HOST=unix:///var/run/docker.sock
      - HOST_TMP_FOLDER=/tmp
      - SNS_PORT=4575
      - SQS_PORT=4576
      - IAM_PORT=4593
      - STS_PORT=4592
    volumes:
      - /tmp/localstack:/tmp/localstack
      - "/var/run/docker.sock:/var/run/docker.sock"
```
what is best way to access each services of AWS:
below works fine
```
aws sqs create-queue --endpoint-url=http://localhost:4566 --queue-name my_queue
{
    "QueueUrl": "http://localhost:4566/queue/my_queue"
}
```
as well as
```
aws sqs create-queue --endpoint-url=http://localhost:4576 --queue-name my_queue_1
{
    "QueueUrl": "http://localhost:4576/queue/my_queue_1"
}
```
which ones I should use, my understanding is each service port will be disabled or not available in future.only customised edge_port will be available . 
also if I click both of the QueueUrl posted above , I get below in my docker
```
localstack-main | 2020-05-18T19:58:33:INFO:localstack.services.edge: Unable to find forwarding rule for host "localhost:4566", path "/queue/my_queue_1", target header "", auth header ""
localstack-main | 2020-05-18T20:01:28:INFO:localstack.services.edge: Unable to find forwarding rule for host "localhost:4566", path "/queue/my_queue", target header "", auth header ""
```
also in my data folder, the `recorded_api_calls.json` is empty, even though I called to `create-queue`.  
Which gives me also a feeling that my setup is not quite right? or may be I'm wrong. 
can anyone share a thought on customised docker compose which is quite acceptable by localstack. 
Also, I can't access the dashboard using port 9000(in my docker-compose). how can I access the dashboard? 
BTW,  when I click only `http://localhost:4566 `--> it shows `{"status": "running"}`
if not port:
            port = get_port_from_custom_rules(method, path, data, headers) or port
        if not port:
            if api in ['', None, '_unknown_']:
                LOG.info(('Unable to find forwarding rule for host "%s", path "%s", '
                    'target header "%s", auth header "%s"') % (host, path, target, auth_header))
            else:
                LOG.info(('Unable to determine forwarding port for API "%s" - please '
                    'make sure this API is enabled via the SERVICES configuration') % api)
            response = Response()
            response.status_code = 404
            response._content = '{"status": "running"}'
            return response
        use_ssl = config.USE_SSL
        connect_host = '%s:%s' % (config.HOSTNAME, port)
        url = 'http%s://%s%s' % ('s' if use_ssl else '', connect_host, path)
        headers['Host'] = host
        function = getattr(requests, method.lower())
        if isinstance(data, dict):
            data = json.dumps(data)
        response = function(url, data=data, headers=headers, verify=False)
        return response
def get_api_from_headers(headers, path=None):
    """ Determine API and backend port based on Authorization headers. """
    target = headers.get('x-amz-target', '')
    host = headers.get('host', '')
    auth_header = headers.get('authorization', '')
    ls_target = headers.get(HEADER_LOCALSTACK_TARGET, '')
    path = path or '/'