# Using Container Entrypoint The VulnScout container ships with an entrypoint script at `/scan/src/entrypoint.sh`. This is what the `./vulnscout` host wrapper calls under the hood. You can also invoke it directly via `docker exec` (or `podman exec`) for advanced workflows or CI pipeline integration where you manage the container yourself. ```bash docker exec /scan/src/entrypoint.sh [OPTIONS] # or podman exec /scan/src/entrypoint.sh [OPTIONS] ``` > **Note:** VulnScout is compatible with both **Docker** and **Podman**. All `docker` commands shown in this page can be replaced with `podman`. --- ## Container Lifecycle When the container starts with no arguments, it enters **daemon mode** — it stays alive and waits for commands sent via `docker exec` (or `podman exec`). This is the mode used by the `./vulnscout` host wrapper. ```bash # The container starts in daemon mode by default docker run -d --name vulnscout sflinux/vulnscout:latest # Then send commands to it docker exec vulnscout /scan/src/entrypoint.sh --serve ``` --- ## Command Reference ### Settings | Flag | Description | |------|-------------| | `--project ` | Project name for subsequent commands (default: `default`) | | `--variant ` | Variant name for subsequent commands (default: `default`) | ### Input Commands | Flag | Description | |------|-------------| | `--add-spdx ` | Add an SPDX 2/3 SBOM file or archive (`.json`, `.spdx`, `.tar`, `.tar.gz`, `.tar.zst`) | | `--add-cve-check ` | Add a Yocto CVE check JSON file | | `--add-openvex ` | Add an OpenVEX JSON file | | `--add-cdx ` | Add a CycloneDX file | | `--add-grype ` | Add a Grype results file (`.grype.json`) | | `--perform-grype-scan` | Export current DB as CycloneDX, run Grype on it, and merge results back | | `--clear-inputs` | Remove all staged input files | ### Scan & Output Commands | Flag | Description | |------|-------------| | `--serve` | Run scan then start the interactive web UI (port 7275). Incompatible with `--match-condition` | | `--report