Skip to content

Pull an LXD Image

Pre-cache an OS image on an LXD node so the first Create Container with that image is seconds, not minutes.

Quick steps

  1. Containers → ⬇ Pull Image.
  2. Pick:
  3. Host — which LXD node to download into.
  4. Remoteimages: (Linux distros, Canonical mirror), ubuntu: (official Ubuntu releases), or one of MFCloud's preset shortcuts.
  5. Alias — e.g. ubuntu/22.04, alpine/edge, debian/12.
  6. Preferred Storage Pool (optional) — the pool the Create modal will default to when this image is selected later. Persisted as the image's user.preferred_storage_pool property.
  7. Pull.

A WebSocket task stream shows the download. On a fast link Ubuntu 22.04 takes about 20 s; Alpine is under 5 s.

Where the image lives

LXD stores cached images under /var/lib/lxd/images/. The 12-character fingerprint becomes the image's primary key; aliases are friendly labels pointing at the fingerprint:

lxc image list
# +-------+--------------+--------+---------------------+--------+--------+
# | ALIAS | FINGERPRINT  | PUBLIC | DESCRIPTION         | ARCH   | SIZE   |
# +-------+--------------+--------+---------------------+--------+--------+
# | u2204 | abc123def456 | no     | Ubuntu 22.04 LTS    | x86_64 | 350MB  |
# +-------+--------------+--------+---------------------+--------+--------+

Container creation uses the cache

When you select an image in Create Container, MFCloud passes the alias (or fingerprint) to the LXD API. If it's already cached: instant. If not: LXD downloads on-demand and the create takes the download time + the usual provisioning.

Removing an image

Containers tab → image row → 🗑 Delete. Refused if any container is currently using it — delete or rebase those containers first.

See also