How to use remote images

The lxc CLI command is pre-configured with several remote image servers. See Remote image servers for an overview.

Note

If you are using the API, you can interact with different LXD servers by using their exposed API addresses. See Authenticate with the LXD server for instructions on how to authenticate with the servers.

How to manage images describes how to interact with images on any LXD server through the API.

List configured remotes

To see all configured remote servers, enter the following command:

lxc remote list

Remote servers that use the simple streams format are pure image servers. Servers that use the lxd format are LXD servers, which either serve solely as image servers or might provide some images in addition to serving as regular LXD servers. See Remote server types for more information.

List available images on a remote

To list all remote images on a server, enter the following command:

lxc image list <remote>:

You can filter the results. See Filter available images for instructions.

Add a remote server

How to add a remote depends on the protocol that the server uses.

Add a simple streams server

To add a simple streams server as a remote, enter the following command:

lxc remote add <remote_name> <URL> --protocol=simplestreams

The URL must use HTTPS.

Add a remote LXD server

To add a LXD server as a remote, enter the following command:

lxc remote add <remote_name> <IP|FQDN|URL> [flags]

Some authentication methods require specific flags (for example, use lxc remote add <remote_name> <IP|FQDN|URL> --auth-type=oidc for OIDC authentication). See Authenticate with the LXD server and Remote API authentication for more information.

For example, enter the following command to add a remote through an IP address:

lxc remote add my-remote 192.0.2.10

You are prompted to confirm the remote server fingerprint and then asked for the password or token, depending on the authentication method used by the remote.

Reference an image

To reference an image, specify its remote and its alias or fingerprint, separated with a colon. For example:

ubuntu:22.04
ubuntu-minimal:22.04
local:ed7509d7e83f

Select a default remote

If you specify an image name without the name of the remote, the default image server is used.

To see which server is configured as the default image server, enter the following command:

lxc remote get-default

To select a different remote as the default image server, enter the following command:

lxc remote switch <remote_name>