### Apache Airflow version

2.2.0 (latest released)

### Operating System

Windows 10

### Versions of Apache Airflow Providers

_No response_

### Deployment

Docker-Compose

### Deployment details

Via docker-compose

### What happened

In using the [docker-compose.yml](https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml) example file, the service for `airflow-triggerer` shows up in an unhealthy state.  It's the only service that shows up this way.  I *have* modified this file to add certificates and fix other health checks so I'm not sure if it's something I did.

```
8ef17f8a28d7   greatexpectations_data_quality_airflow-triggerer   "/usr/bin/dumb-init …"   14 minutes ago   Up 14 minutes (unhealthy) 
```

The healthcheck portion of the `docker-compose.yml` for this service shows:

```
  airflow-triggerer:
    <<: *airflow-common
    command: triggerer
    healthcheck:
      test: ["CMD-SHELL", 'airflow jobs check --job-type TriggererJob --hostname "$${HOSTNAME}"']
```

When I shell into the container and run this command I get:

```
airflow@8ef17f8a28d7:/opt/airflow$ airflow jobs check --job-type TriggererJob --hostname "$${HOSTNAME}"
WARNING:root:/opt/airflow/logs/scheduler/latest already exists as a dir/file. Skip creating symlink.
usage: airflow jobs check [-h] [--allow-multiple] [--hostname HOSTNAME] [--job-type {BackfillJob,LocalTaskJob,SchedulerJob}] [--limit LIMIT]

Checks if job(s) are still alive

optional arguments:
  -h, --help            show this help message and exit
  --allow-multiple      If passed, this command will be successful even if multiple matching alive jobs are found.
  --hostname HOSTNAME   The hostname of job(s) that will be checked.
  --job-type {BackfillJob,LocalTaskJob,SchedulerJob}
                        The type of job(s) that will be checked.
  --limit LIMIT         The number of recent jobs that will be checked. To disable limit, set 0.

examples:
To check if the local scheduler is still working properly, run:

    $ airflow jobs check --job-type SchedulerJob --hostname "$(hostname)"

To check if any scheduler is running when you are using high availability, run:

    $ airflow jobs check --job-type SchedulerJob --allow-multiple --limit 100
```

From the description, it appears the `job-type` of `TriggererJob` is not a valid parameter to this call.

### What you expected to happen

The service should show up as "healthy".

### How to reproduce

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/cli/cli_parser.py
"""Override error and use print_instead of print_usage"""
        self.print_help()
        self.exit(2, f'\n{self.prog} command error: {message}, see help above.\n')
_UNSET = object()
class Arg:
    """Class to keep information about command line argument"""
    def __init__(
        self,
        flags=_UNSET,
        help=_UNSET,
        action=_UNSET,
        default=_UNSET,
        nargs=_UNSET,
        type=_UNSET,
        choices=_UNSET,
        required=_UNSET,
        metavar=_UNSET,
        dest=_UNSET,
    ):
        self.flags = flags
        self.kwargs = {}
        for k, v in locals().items():
            if v is _UNSET:
                continue
            if k in ("self", "flags"):
                continue
            self.kwargs[k] = v
    def add_to_parser(self, parser: argparse.ArgumentParser):