| | | |

Fixing LXD Image Repository Issues After Canonical’s Migration

If you’re a system administrator still managing LXD servers alongside newer Incus deployments, you may have recently encountered a frustrating error when trying to create new containers. This post will help you resolve the image repository access issue that emerged following Canonical’s reorganization of LXD resources.

The Problem

When attempting to launch a new container with a command like:

lxc launch images:debian/bookworm/amd64 CT10

You might see this error message:

Creating CT10
Error: Failed instance creation: Failed getting remote image info: Failed getting image: The requested image couldn't be found

This error occurs even on up-to-date LXD servers and affects various Linux distributions, not just Debian.

What Happened?

The root cause stems from Canonical’s recent changes to LXD’s infrastructure and image hosting. As part of the broader transition from the original LXC project to Canonical’s stewardship, several key changes occurred:

  • Repository Migration: LXD’s source code moved from the LXC Git repository to Canonical’s GitHub account
  • Image Repository Changes: The default image server location was modified
  • Access Restrictions: The old image endpoints were discontinued, limiting access to non-Ubuntu images

These changes were part of the larger ecosystem shift that led many users to migrate from LXD to Incus, but for those still maintaining LXD infrastructure, this created immediate operational challenges.

The Solution

The fix is straightforward but essential. You need to update your LXD configuration to point to the new Canonical-hosted image repository.

Step 1: Update the Image Remote URL

Execute the following command to update the images remote to the new Canonical location:

lxc remote set-url images https://images.lxd.canonical.com/

This command redirects your LXD installation to use Canonical’s official image server, restoring access to the full range of available container images.

Step 2: Verify Available Images

After updating the remote URL, confirm that images are now accessible:

lxc image list images:

This command should display a comprehensive list of available images across multiple Linux distributions, including Debian, Ubuntu, CentOS, Alpine, and others.

Step 3: Test Container Creation

Now try creating your container again:

lxc launch images:debian/bookworm/amd64 CT10

The container should now create successfully without errors.

Why This Matters for Mixed Environments

Many organizations find themselves in a transitional state, running both LXD and Incus systems. While Incus represents the future direction for many containerization workflows, existing LXD deployments often need to remain operational for:

  • Legacy Applications: Systems that haven’t been migrated yet
  • Stability Requirements: Production environments where changes must be carefully planned
  • Resource Constraints: Limited time or personnel to handle immediate migrations
  • Compliance Needs: Environments where changes require extensive testing and approval

Understanding how to maintain LXD systems during this transition period is crucial for operational continuity.

Prevention and Best Practices

To avoid similar issues in the future:

  1. Monitor Upstream Changes: Stay informed about changes to containerization projects you depend on
  2. Test in Staging: Always test container operations in non-production environments first
  3. Document Configurations: Keep clear records of remote repositories and custom configurations
  4. Plan Migration Timelines: If moving to Incus, establish clear timelines while maintaining LXD systems properly

Additional Troubleshooting

If you continue experiencing issues after applying this fix:

  • Check Network Connectivity: Ensure your server can reach images.lxd.canonical.com
  • Verify LXD Version: Some very old LXD versions might need updates to work with the new repository
  • Clear Cache: Try lxc image delete for any corrupted cached images
  • Review Firewall Rules: Confirm that outbound HTTPS connections are permitted

Looking Forward

While this fix resolves immediate operational issues, it’s worth considering your long-term containerization strategy. Incus offers enhanced features and active development, making it an attractive option for new deployments. However, this LXD fix ensures your existing infrastructure remains functional while you plan any future migrations.

The containerization landscape continues to evolve rapidly, and staying adaptable while maintaining operational stability remains a key challenge for system administrators. By understanding these configuration changes and maintaining both legacy and modern systems effectively, you can ensure smooth operations regardless of which direction the technology ecosystem moves.


Need help with LXD, Incus, or other Linux infrastructure challenges? As a Linux systems consultant, I provide expert support for containerization migrations, server maintenance, and infrastructure optimization. Whether you’re dealing with complex LXD issues, planning an Incus migration, or need ongoing Linux system administration support, I’m here to help. Contact me for professional consultation and tailored solutions for your organization’s needs.

Similar Posts