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"}`
pass
def make_http_request(url, data=None, headers=None, method='GET'):
    if is_string(method):
        method = requests.__dict__[method.lower()]
    return method(url, headers=headers, data=data, auth=NetrcBypassAuth(), verify=False)
class SafeStringIO(io.StringIO):
    """ Safe StringIO implementation that doesn't fail if str is passed in Python 2. """
    def write(self, obj):
        if six.PY2 and isinstance(obj, str):
            obj = obj.decode('unicode-escape')
        return super(SafeStringIO, self).write(obj)
def clean_cache(file_pattern=CACHE_FILE_PATTERN,
        last_clean_time=last_cache_clean_time, max_age=CACHE_MAX_AGE):
    mutex_clean.acquire()
    time_now = now()
    try:
        if last_clean_time['time'] > time_now - CACHE_CLEAN_TIMEOUT:
            return
        for cache_file in set(glob.glob(file_pattern)):
            mod_time = os.path.getmtime(cache_file)
            if time_now > mod_time + max_age:
                rm_rf(cache_file)
        last_clean_time['time'] = time_now
    finally:
        mutex_clean.release()
    return time_now
def truncate(data, max_length=100):