### 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
"""Add this argument to an ArgumentParser"""
        parser.add_argument(*self.flags, **self.kwargs)
def positive_int(*, allow_zero):
    """Define a positive int type for an argument."""
    def _check(value):
        try:
            value = int(value)
            if allow_zero and value == 0:
                return value
            if value > 0:
                return value
        except ValueError:
            pass
        raise argparse.ArgumentTypeError(f"invalid positive int value: '{value}'")
    return _check
ARG_DAG_ID = Arg(("dag_id",), help="The id of the dag")
ARG_TASK_ID = Arg(("task_id",), help="The id of the task")
ARG_EXECUTION_DATE = Arg(("execution_date",), help="The execution date of the DAG", type=parsedate)
ARG_EXECUTION_DATE_OR_DAGRUN_ID = Arg(
    ('execution_date_or_run_id',), help="The execution_date of the DAG or run_id of the DAGRun"
)
ARG_TASK_REGEX = Arg(
    ("-t", "--task-regex"), help="The regex to filter specific task_ids to backfill (optional)"
)