### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I've been having issues with either Docker or Localstack, so a couple of times today I've removed all the images (and eventually reset/reinstalled Docker Desktop which deleted all the images again). I've noticed that when I run `localstack start` (installed with `pip`, on the host macOS) and the `localstack/localstack:latest` image is not present, `localstack` starts downloading a bunch of old images instead of `latest`.

```sh
bash-3.2$ docker image ls
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

bash-3.2$ localstack start
# this step will remain silent for as long as you let it
# nothing will happen for several minutes but eventually you'll see bursts of network activity
<Ctrl-C to see a KeyboardInterrupt stack trace>

bash-3.2$ docker image ls
REPOSITORY              TAG        IMAGE ID       CREATED        SIZE
localstack/localstack   0.10.1.2   9bf25773d5f0   2 years ago    855MB
localstack/localstack   0.10.0     835c5cec4d47   2 years ago    855MB
```

### Expected Behavior

The `localstack` CLI tool sees that `localstack/localstack:latest` does not exist on the local machine, and pulls that version of the image _only_

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)
```sh
docker image ls
docker image rm localstack/localstack:latest
localstack start
```

### Environment

```markdown
- OS: macOS 12.4, Docker Desktop 4.10, Python 3.9.13 (Homebrew)
- LocalStack: 
  - `localstack          1.0.0`
  - `localstack-client   1.35`
  - `localstack-ext      1.0.0`
```


### Anything else?

_No response_
'Error executing Lambda "%s": %s %s',
                lambda_function.arn(),
                error,
                "".join(traceback.format_tb(error.__traceback__)),
            )
            result = json.dumps(
                {
                    "errorType": error.__class__.__name__,
                    "errorMessage": error.args[0],
                    "stackTrace": traceback.format_tb(error.__traceback__),
                }
            )
            raise InvocationException(result, log_output=log_output, result=result)
        
        invocation_result = InvocationResult(result, log_output=log_output)
        
        invocation_result = self.process_result_via_plugins(inv_context, invocation_result)
        return invocation_result
    def provide_file_to_lambda(self, local_file: str, inv_context: InvocationContext) -> str:
        
        return local_file
    def execute_java_lambda(
        self, event, context, main_file, lambda_function: LambdaFunction = None
    ) -> InvocationResult:
        lambda_function.envvars = lambda_function.envvars or {}
        java_opts = config.LAMBDA_JAVA_OPTS or ""
        handler = lambda_function.handler
        lambda_function.envvars[LAMBDA_HANDLER_ENV_VAR_NAME] = handler
        event_file = EVENT_FILE_PATTERN.replace("*", short_uid())
        save_file(event_file, json.dumps(json_safe(event)))