Q:

Setting up localstack resources in docker compose file results in connection aborted failure

I have a docker compose file that looks like the following:
version: "3"

services:
  localstack:
    image: localstack/localstack:latest
    ports:
      - "4567-4597:4567-4597"
      - "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
    environment:
      - SERVICES=s3
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/private${TMPDIR}:/tmp/localstack"
    networks:
      - my_awesome_network

  setup-resources:
    image: mesosphere/aws-cli
    volumes:
      - ./dev_env:/project/dev_env
    environment:
      - AWS_ACCESS_KEY_ID=dummyaccess
      - AWS_SECRET_ACCESS_KEY=dummysecret
      - AWS_DEFAULT_REGION=us-east-1
    entrypoint: /bin/sh -c
    command: >
      "
        sleep 10;
        # aws kinesis create-stream --endpoint-url=http://localstack:4568 --stream-name my_stream --shard-count 1;
        aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
      "
    networks:
      - my_awesome_network
    depends_on:
      - localstack
networks:
  my_awesome_network:

which has been copied from this blog post that I have found, but when I run docker-compose up the bucket fails to create with the following error: ('Connection aborted.', error(99, 'Address not available'))

A:

Small detail here but it should not be aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
it should instead be aws --endpoint-url=http://localstack:4572 s3 mb s3://demo-bucket, that's right localhost becomes localstack

