Docs · DoCatz

The engine

DoCatz's Docker engine — the Lima VM on a Mac or the WSL 2 distro on Windows, its statuses, CPUs, memory and disk, the docatz context, DOCKER_HOST, bundled versions, disk usage, moving images and volumes from another Docker, reset, ~/.docatz and installing WSL.

The engine is where your containers really run: a small Linux machine with Docker inside. DoCatz sets it up, starts it, stops it and keeps it in one folder. Open it with Engine in the rail (mod+6).

On a Mac the engine is a Lima VM on Apple’s Virtualization framework, running Ubuntu with Docker. Your home folder (writable) and /tmp/docatz are shared into the VM with virtiofs, so bind mounts from your projects are fast. DoCatz keeps its own Lima in ~/.docatz, so it never touches a Lima or Colima you already have.

On Windows the engine is a WSL 2 distro of its own, called docatz, made from Alpine Linux with Docker installed from Alpine’s packages. Its disk is %USERPROFILE%\.docatz\vm\wsl\ext4.vhdx. Your Windows drives are reachable from containers: a bind mount such as C:\Users\you\shop is passed on as /mnt/c/Users/you/shop. Before the first start, Windows needs WSL 2 — see Install WSL.

The Engine page

At the top you see the engine’s state, and when it runs, the Docker version, CPUs and memory.

Status Means
Not set up There is no engine yet. Set up and start creates it (about 1 GB to download the first time).
Starting… It is starting; the steps show below. Cancel stops the attempt.
Running Docker answers. The buttons are Restart and Stop.
Stopping… It is shutting down.
Stopped It is set up but not running. Start starts it.
Needs attention Something went wrong; the message says what, and Engine log shows the details.
Not available The engine cannot run on this computer as it is: a Mac older than macOS 13, or a PC where WSL 2 is not ready yet (the message says what is missing).

While the engine starts, each step shows with a tick when it is done:

  1. Download the VM manager (Lima)
  2. Create the Linux VM
  3. Start the VM and Docker
  4. Connect to Docker

The first start downloads Ubuntu and installs Docker inside — a few minutes. After that it starts in seconds.

  1. Download the Linux image
  2. Create the WSL distro
  3. Start Docker
  4. Connect to Docker

When DoCatz’s own command-line tools are not there yet, one more step follows: Install docker, compose and buildx.

If a step fails, the error shows with an Engine log button. The log has Copy, which is handy for a bug report.

Start, stop and quit

  • Start with DoCatz (on by default) — Starts the engine when DoCatz opens. It is in the Resources card.
  • Closing the window keeps DoCatz, and the engine, running in the menu barsystem tray. The tray menu can start and stop the engine too.
  • Engine → Start / Stop / Restart in the menu do the same as the buttons; Refresh (mod+R) reads the container list again.

Quitting DoCatz leaves the VM running, so your containers keep serving and the next launch finds the engine ready. To shut it down, press Stop first. If the VM does not stop in time, DoCatz stops it by force, and running containers are killed.

On Windows the engine stops when DoCatz quits. Docker runs as part of DoCatz, and on Exit DoCatz also shuts the docatz distro down. Keep DoCatz open (closing the window is fine — it stays in the tray) while you need your containers.

Resources

Setting Default Range
CPUs Half your Mac’s cores, at least 2 and at most 4 1 up to every core (the slider shows N of your total)
Memory Half your Mac’s memory, at least 2 GB and at most 4 GB 1 GB up to your memory minus 2 GB
Disk 64 GB 16 to 512 GB, in steps of 8
Rosetta for Intel images (Apple silicon) On Runs linux/amd64 images fast on Apple silicon.
Start with DoCatz On Starts the engine when DoCatz opens.

The disk is the most it may grow to; it only takes what is used (the page shows how much). It can grow later but not shrink.

A stopped engine takes new values at once. A running one takes them at its next start: the page then says Restart the engine to apply: … with Restart now.

There are no sliders on Windows: WSL 2 shares one set of limits between every distro. Set them in %USERPROFILE%\.wslconfig, for example:

[wsl2]
memory=6GB
processors=4

then restart the engine. Start with DoCatz (on by default) starts the engine when DoCatz opens.

Docker command line

This card decides how the docker in your terminals reaches DoCatz. Nothing here changes on its own.

  • Use DoCatz as the default — Makes the docatz context the current one, so docker in any terminal talks to DoCatz. The card shows the current context (Now: …). Without it, use docker --context docatz …. DoCatz creates the docatz context on every start, but only this switch makes it the current one (it writes currentContext in ~/.docker/config.json). Turn it off to go back to the context you had.
  • docker, compose and buildx — where DoCatz’s own CLIs are (Docker CLI 29.9.2 in …), or Not installed yet — the first engine start installs them. with Install. When DoCatz finds another docker on this computer, it adds Your own docker (…) keeps working.
  • Add to PATH — new terminals find DoCatz’s docker, docker-compose and docker-buildx first: DoCatz writes a marked block (# >>> DoCatz >>>) to ~/.zprofile, and to ~/.bash_profile when you have one.through your user Path variable. If you keep your own docker, you can leave it off — the context is enough.
  • DOCKER_HOST — the engine’s address, with Copy (it copies an export DOCKER_HOST=… line): unix://~/.docatz/run/docker.socknpipe:////./pipe/docatz_engine. Useful for tools that read DOCKER_HOST instead of contexts.

DoCatz’s compose is a docker CLI plugin (in ~/.docatz/cli-plugins, registered in ~/.docker/config.json), so docker compose works, and it is also there as a standalone docker-compose.

The Commands page has these as ready-made lines, such as docker context use docatz.

Bundled versions

Everything the engine needs is downloaded by DoCatz itself, at a fixed version:

Part Version From
Docker CLI 29.9.2 download.docker.com
Docker Compose 5.6.1 GitHub (docker/compose)
Docker Buildx 0.38.1 GitHub (docker/buildx)
Lima (Mac) 2.2.1 GitHub (lima-vm/lima)
Alpine minirootfs (Windows) 3.24.3 dl-cdn.alpinelinux.org

Every download is pinned by its SHA-256. If a file does not match, nothing is installed and you see <file> did not match its checksum — the download was damaged or changed, nothing was installed. Start again to download it anew. Inside the VM, the first start installs Docker from get.docker.com.

Disk usage

Disk usage lists Images, Containers, Volumes and Build cache, each with its Count, Size and what Can be freed. Clean up… on a row shows exactly what would go before anything is removed — see Clean up.

Move from another Docker

Already have images and volumes in another Docker engine on this computer? DoCatz can copy them across, so you do not start from zero. Once DoCatz’s engine runs, the Engine page looks for Docker Desktop, OrbStack, Colima and Rancher Desktop (on Windows: Docker Desktop and Rancher Desktop). When it finds one, the card Move from another Docker lists it — Copy images and volumes onto DoCatz’s engine. The other one keeps them, so both can stay side by side.

  • A running one shows Running · Docker <version> and Choose what to move….
  • One that is installed but stopped says Installed, not running — start it to move from it, with Look again.

Choose what to move… opens Move from <name>: Copies onto DoCatz’s engine. <name> keeps everything, so both can stay side by side; each has its own docker context. It lists:

  • Images — every tagged image, with its size.
  • Volumes — every named volume, with its size and how many of its containers use it. Anonymous volumes are left out.

Everything is ticked except what DoCatz already has, which wears an in DoCatz badge (a volume of the same name in DoCatz gets the files added to it). All and None tick or clear a list, and the footer counts what you picked and its size. When a picked volume is still in use, the dialog warns you to stop its containers in the other engine first, as a database still writing can be copied half way.

Move copies the picked items one at a time, each a step with its progress (catz-shop-db · 120 MB of 480 MB):

  • an image goes across as it is (docker save from the other engine into docker load on DoCatz’s);
  • a volume is made again on DoCatz with the same name and labels, so docker compose finds it as its project’s own, and its files are copied with tar through a small alpine:3.20 container on each side (pulled first when an engine does not have it).

Cancel stops the move. An item that fails does not stop the rest; at the end the dialog lists what could not be moved. Nothing is removed from the other engine, and your terminal’s docker keeps using whichever context it used before — see Docker command line.

Details

  • VM — the VM manager, the Linux kernel and the architecture.
  • Folder — where the VM lives; click it to open it in FinderFile Explorer.
  • macOSWindows — your computer’s CPUs, memory and architecture.

Engine log is here too, even when nothing failed.

Reset the engine

Deletes the VM and its disk: every container, image and volume in DoCatz. Project folders on this MacPC are not touched.

Reset… asks Reset the engine?; type reset to go ahead. The next start sets the engine up fresh. Anything that lives only inside a volume is gone, so copy it out first if you need it (the Files tab can save a folder as a .tar).

Where the engine keeps its files

Everything the engine downloads and runs lives in one folder: ~/.docatz%USERPROFILE%\.docatz.

Folder or file What
bin DoCatz’s docker, docker-compose and docker-buildx
cli-plugins docker compose and docker buildx as CLI plugins
run/docker.sock The engine’s socket (a link to the VM’s forwarded socket)
vm The VM and its disk (Lima’s home folder)
lima DoCatz’s own copy of Lima
docatz.yaml The VM’s definition — DoCatz writes it, and edits here are replaced
downloads Downloaded packages
Folder or file What
bin DoCatz’s docker, docker-compose and docker-buildx
cli-plugins docker compose and docker buildx as CLI plugins
vm\wsl The docatz distro’s disk, ext4.vhdx
downloads Downloaded packages

The engine’s socket is the named pipe \\.\pipe\docatz_engine, which DoCatz relays into the distro.

DoCatz’s settings, certificates and project .env files live in its app data folder instead — see Where your data lives.

Install WSL (Windows)

This section is for Windows: on a Mac the engine needs nothing before its first start.

DoCatz’s engine runs in WSL 2, Windows’ own Linux, which needs virtualisation on in the PC. Until both are ready, the Engine page opens with the card First · Windows Subsystem for Linux (the Welcome dialog shows the same checks):

  • Virtualisation (SVM / Intel VT-x) — On in the BIOS / UEFI — nothing to do, Off in the BIOS / UEFI — turn it on first (below), or Windows does not say.
  • WSL 2 — Installed and able to run Linux — nothing to do, or what is missing: not on this PC yet, installed but not able to run Linux yet, or waiting for a restart.

Install WSL (or Try again after a failure) runs wsl --install --no-distribution as administrator:

  1. Approve Windows’ administrator prompt — one UAC prompt. If it is not in front, click the flashing shield in the taskbar.
  2. Install WSL 2 and Virtual Machine Platform (a few minutes) — keep DoCatz open until it is done.
  3. Restart Windows to finish — Virtual Machine Platform only loads at startup. Restart now asks Restart Windows now?; Restart Now restarts in a few seconds, Later leaves it to you.

After the restart, open DoCatz again and start the engine. DoCatz installs no Linux distribution from the Store: it brings its own, docatz.

Turning on virtualisation

Virtualisation is often off from the factory. When the check says it is off, the card has How to turn on SVM Mode / Intel VT-x. In short:

  1. Restart the PC and press the BIOS key while the maker’s logo shows: Del on most desktop boards (MSI, ASUS, Gigabyte, ASRock), F2 on many laptops, F10 on HP, F1 on Lenovo ThinkPad.

  2. If the BIOS opens in a simple view (EZ Mode), switch to Advanced Mode — F7 on MSI and ASUS.

  3. Find the setting; the names differ by maker:

    Maker Where
    MSI OC → Advanced CPU Configuration → SVM Mode (older BIOS: OC → CPU Features)
    ASUS Advanced → CPU Configuration → SVM Mode
    Gigabyte Tweaker → Advanced CPU Settings → SVM Mode
    ASRock Advanced → CPU Configuration → SVM Mode
    Intel boards Advanced → CPU Configuration → Intel Virtualization Technology
    Laptops Often Configuration, Advanced or Security → Virtualization
  4. Set it to Enabled, save with F10 → Yes, and let the PC restart.

  5. Open DoCatz again: the check turns green once Windows sees it on.

Not there at all? An older BIOS may hide it: update the BIOS from the board maker’s support page, then look again. In a virtual machine, its host has to allow nested virtualisation instead.

Last updated 2026-11-03