# General

Checks are based on Docker containers. For each run of a check, a Docker container is created from the configured image. The Docker container should not be long-running, but terminate within 60 seconds. The success or failure is determined by the exit code of the container. Exit code 0 indicates that the check is successful, i.e. the service or functionality that the check is monitoring behaves normally and is healthy. Other exit codes indicate that the check is not successful; the monitored service or functionality is not behaving correctly. When the container runs for more than 60s, the check is also considered to be not successful.

# Requirements for the Docker image

The command to run cannot be specified using the CMD directive in the Dockefile. It must be specified with the ENTRYPOINT directive instead.

To this would not work in the Dockerfile:

FROM ubuntu:22.04
...
# Does not work for Checkson check:
CMD [ "/script.sh" ]

Simply use ENTRYPOINT instead of CMD:

FROM ubuntu:22.04
...
# This works:
ENTRYPOINT [ "/script.sh" ]

# Private Docker registries

Private Docker registries are supported. When creating a check, you can specify the credentials with which to access the registry.