Run your first container

From a fresh install to nginx serving on localhost, in about five minutes.

This assumes a Mac with nothing container-shaped on it yet.

1. Install Hopper

brew install --cask wess/packages/hopper

Open it. The sidebar footer will say what it found.

2. Get an engine

On a clean Apple silicon Mac running macOS 26, Hopper will say:

Run containers natively on this Mac Apple Containers is not installed yet.

Click Install Apple Containers. Hopper downloads the package Apple signed and hands it to the system installer; macOS asks for your password. Approve it.

When it finishes, Hopper starts the services itself. The first start pulls a kernel image, so it takes a moment. The footer goes starting → connected.

Already running Docker Desktop or Colima? Hopper will just connect to it and you can skip this step entirely.

3. Find an image

Go to Registry and search for nginx. This search hits Docker Hub over HTTP, so it works even before an engine is up.

Click Run on the official nginx result.

4. Configure the run

The run dialog opens with the image filled in. Set:

Leave the rest. Click Run.

5. See it

Go to Containers. web is there, running, showing 8080→80.

curl http://localhost:8080

You should get nginx's welcome page.

Click the row. The detail pane opens with Logs streaming — you will see your own curl show up as an access log line.

6. Clean up

Stop on the row, then Delete.


What just happened

On Apple Containers, web is not a process sharing your kernel — it is its own lightweight virtual machine with its own network address, and macOS forwarded port 8080 to it. That is stronger isolation than a traditional container runtime gives you, for roughly the same startup cost.

Next: Move off Docker Desktop if you have an existing setup to bring across.