Your first container in 5 minutes

Install cardinal, pull an image, and run a web server with port mapping — end to end.

This guide walks you from an empty server to a running web container. You need

a Linux machine (or WSL) with curl — nothing else.

1. Install cardinal

One line installs the binary, dependencies and the boot supervisor:

curl -fsSL https://raw.githubusercontent.com/animesao/cardinal/main/install.sh | sudo bash

Verify it worked:

cardinal version
cardinal doctor

2. Pull an image

Images are OCI/Docker images from any registry — Docker Hub by default:

cardinal pull nginx:alpine

cardinal images lists what's stored locally.

3. Run a container

Start nginx detached, mapping host port 8080 to the container's port 80:

cardinal run -d -n web -p 8080:80 nginx:alpine

cardinal creates the cardinal0 bridge, gives the container the IP

10.0.2.2, and wires up iptables DNAT for the port. Check it:

cardinal ps
curl http://localhost:8080

4. Peek inside

cardinal exec web nginx -v          # run a command
cardinal console web                # interactive shell
cardinal logs -f web                # follow stdout
cardinal stats web                  # CPU / memory

5. Stop and clean up

cardinal stop web                   # stops, data in the overlay is kept
cardinal start web                  # start again later
cardinal rm -f web                  # remove (overlay data is deleted)

That's the whole loop: pull → run → exec → stop. The same pattern powers

everything else on this site — blueprints are just pre-configured versions of

these commands.