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"}`
""" Determine whether `content` contains valid zip bytes representing a JAR archive
        that contains at least one *.class file and a META-INF/MANIFEST.MF file. """
    try:
        with tempfile.NamedTemporaryFile() as tf:
            tf.write(content)
            tf.flush()
            with zipfile.ZipFile(tf.name, 'r') as zf:
                class_files = [e for e in zf.infolist() if e.filename.endswith('.class')]
                manifest_file = [e for e in zf.infolist() if e.filename.upper() == 'META-INF/MANIFEST.MF']
                if not class_files or not manifest_file:
                    return False
    except Exception:
        return False
    return True
def is_root():
    out = run('whoami').strip()
    return out == 'root'
def cleanup_resources():
    cleanup_tmp_files()
    cleanup_threads_and_processes()
@synchronized(lock=SSL_CERT_LOCK)
def generate_ssl_cert(target_file=None, overwrite=False, random=False, return_content=False, serial_number=None):
    
    
    from OpenSSL import crypto
    def all_exist(*files):