Skip to content

Layered images

The base is not copied. It is shared.

Three layers, like OCI:

  1. A read-only base per family: min (Alpine), node, python.
  2. A read-only layer per service: only what changes.
  3. Each machine’s own overlay, sparse.
Terminal window
kling mcp add <server> # picks the node/python base by itself
kling mcp add <server> -base min # forces the minimal base
kling image ls # BASE column; each base counts once
service before after
context7 129 MiB 39 MiB
fetch 164 MiB 77 MiB
wikipedia-mcp-server 471 MiB 54 MiB
fleet of 7 1300 MiB 320 MiB + 113 of base

67 % less disk, same boot and same wake-up.

Guest Frozen
Ubuntu 24.04 + systemd 82 MB
Alpine without systemd (min) 35 MB

kling image rm refuses to delete a base used by another layer, a golden or a live machine.