/
snap
/
lxd
/
35210
/
share
/
lxd-documentation
/
tutorial
/
ui
/
File Upload :
llllll
Current File: //snap/lxd/35210/share/lxd-documentation/tutorial/ui/index.html
<!doctype html> <html class="no-js" lang="en" data-content_root="../../"> <head><meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="og:title" content="Getting started with the UI" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://documentation.ubuntu.com/lxd/latest/tutorial/ui/" /> <meta property="og:site_name" content="LXD documentation" /> <meta property="og:description" content="This tutorial gives a quick introduction to using the LXD UI. It covers installing and initializing LXD, getting access to the UI, and carrying out some standard operations like creating, configuri..." /> <meta property="og:image" content="https://documentation.ubuntu.com/lxd/latest/_static/tag.png" /> <meta property="og:image:alt" content="LXD documentation" /> <meta name="description" content="This tutorial gives a quick introduction to using the LXD UI. It covers installing and initializing LXD, getting access to the UI, and carrying out some standard operations like creating, configuri..." /> <link rel="index" title="Index" href="../../genindex/" /><link rel="search" title="Search" href="../../search/" /><link rel="next" title="How-to guides" href="../../howto/" /><link rel="prev" title="First steps with LXD" href="../first_steps/" /> <link rel="canonical" href="https://documentation.ubuntu.com/lxd/tutorial/ui/" /> <link rel="shortcut icon" href="../../_static/favicon.ico"/><!-- Generated with Sphinx 8.2.3 and Furo 2025.07.19 --> <title>Getting started with the UI</title> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=d111a655" /> <link rel="stylesheet" type="text/css" href="../../_static/styles/furo.css?v=25af2a20" /> <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" /> <link rel="stylesheet" type="text/css" href="../../_static/youtube.css" /> <link rel="stylesheet" type="text/css" href="../../_static/related-links.css" /> <link rel="stylesheet" type="text/css" href="../../_static/terminal-output.css" /> <link rel="stylesheet" type="text/css" href="../../_static/config-options.css" /> <link rel="stylesheet" type="text/css" href="../../_static/sphinx-design.min.css?v=95c83b7e" /> <link rel="stylesheet" type="text/css" href="../../_static/styles/furo-extensions.css?v=8dab3a3b" /> <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=66d86e9d" /> <link rel="stylesheet" type="text/css" href="../../_static/header.css?v=84f70f09" /> <link rel="stylesheet" type="text/css" href="../../_static/github_issue_links.css?v=af88fb93" /> <link rel="stylesheet" type="text/css" href="../../_static/furo_colors.css?v=c4ccdb8a" /> <link rel="stylesheet" type="text/css" href="../../_static/footer.css?v=bd05fc90" /> <link rel="stylesheet" type="text/css" href="../../_static/cookie-banner.css?v=b74831ab" /> </head> <body> <header id="header" class="p-navigation"> <script type="module" src="../../_static/js/bundle.js"> </script> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0]; var j = d.createElement(s); var dl = ''; if (l != 'dataLayer') { dl = '&l=' + l; } j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-KNX3CJC'); </script> <div class="p-navigation__nav" role="menubar"> <ul class="p-navigation__links" role="menu"> <li> <a class="p-logo" href="https://canonical.com/lxd" aria-current="page"> <img src="../../_static/tag.png" alt="Logo" class="p-logo-image"> <div class="p-logo-text p-heading--4">LXD </div> </a> </li> <li class="nav-ubuntu-com"> <a href="https://canonical.com/lxd" class="p-navigation__link">canonical.com/lxd</a> </li> <li> <a href="#" class="p-navigation__link nav-more-links">More resources</a> <ul class="more-links-dropdown"> <li> <a href="https://ubuntu.com/lxd/install/" class="p-navigation__sub-link p-dropdown__link">Install LXD</a> </li> <li> <a href="https://ubuntu.com/lxd/manage/" class="p-navigation__sub-link p-dropdown__link">Manage LXD</a> </li> <li> <a href="https://discourse.ubuntu.com/c/lxd/" class="p-navigation__sub-link p-dropdown__link">Forum</a> </li> <li> <a href="https://github.com/canonical/lxd" class="p-navigation__sub-link p-dropdown__link">GitHub</a> </li> </ul> </li> </ul> </div> </header> <script> document.body.dataset.theme = localStorage.getItem("theme") || "auto"; </script> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol id="svg-toc" viewBox="0 0 24 24"> <title>Contents</title> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line> <line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <symbol id="svg-sun" viewBox="0 0 24 24"> <title>Light mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> <circle cx="12" cy="12" r="5"></circle> <line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="21" x2="12" y2="23"></line> <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> <line x1="1" y1="12" x2="3" y2="12"></line> <line x1="21" y1="12" x2="23" y2="12"></line> <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> </svg> </symbol> <symbol id="svg-moon" viewBox="0 0 24 24"> <title>Dark mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" /> </svg> </symbol> <symbol id="svg-sun-with-moon" viewBox="0 0 24 24"> <title>Auto light/dark, in light mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-custom-derived-from-feather-sun-and-tabler-moon"> <path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/> <line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/> <line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/> <line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/> <line x1="19" y1="14.05" x2="20.414" y2="15.464"/> <line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/> <line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/> <line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/> <line x1="19" y1="5.05" x2="20.414" y2="3.636"/> <circle cx="14.5" cy="9.55" r="3.6"/> </svg> </symbol> <symbol id="svg-moon-with-sun" viewBox="0 0 24 24"> <title>Auto light/dark, in dark mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-custom-derived-from-feather-sun-and-tabler-moon"> <path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/> <line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/> <line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/> <line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/> <line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/> <line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/> <line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/> <line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/> <line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/> <circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/> </svg> </symbol> <symbol id="svg-pencil" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code"> <path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" /> <path d="M13.5 6.5l4 4" /> <path d="M20 21l2 -2l-2 -2" /> <path d="M17 17l-2 2l2 2" /> </svg> </symbol> <symbol id="svg-eye" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" /> <path d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" /> <path d="M20 21l2 -2l-2 -2" /> <path d="M17 17l-2 2l2 2" /> </svg> </symbol> </svg> <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation"> <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc"> <label class="overlay sidebar-overlay" for="__navigation"> <div class="visually-hidden">Hide navigation sidebar</div> </label> <label class="overlay toc-overlay" for="__toc"> <div class="visually-hidden">Hide table of contents sidebar</div> </label> <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a> <div class="page"> <header class="mobile-header"> <div class="header-left"> <label class="nav-overlay-icon" for="__navigation"> <div class="visually-hidden">Toggle site navigation sidebar</div> <i class="icon"><svg><use href="#svg-menu"></use></svg></i> </label> </div> <div class="header-center"> <a href="../../"><div class="brand">LXD</div></a> </div> <div class="header-right"> <div class="theme-toggle-container theme-toggle-header"> <button class="theme-toggle"> <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> </button> </div> <label class="toc-overlay-icon toc-header-icon" for="__toc"> <div class="visually-hidden">Toggle table of contents sidebar</div> <i class="icon"><svg><use href="#svg-toc"></use></svg></i> </label> </div> </header> <aside class="sidebar-drawer"> <div class="sidebar-container"> <div class="sidebar-sticky"><a class="sidebar-brand" href="../../"> </a><form class="sidebar-search-container" method="get" action="../../search/" role="search"> <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search"> <input type="submit" value="Go"> <input type="hidden" name="check_keywords" value="yes"> <input type="hidden" name="area" value="default"> </form> <div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree"> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../../">LXD</a></li> <li class="toctree-l1 current has-children"><a class="reference internal" href="../">Tutorials</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Tutorials</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="../first_steps/">First steps with LXD</a></li> <li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Getting started with the UI</a></li> </ul> </li> <li class="toctree-l1 has-children"><a class="reference internal" href="../../howto/">How-to guides</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of How-to guides</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2 has-children"><a class="reference internal" href="../../getting_started/">Getting started</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of Getting started</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../installing/">Install LXD</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/initialize/">Initialize LXD</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/access_ui/">Access the UI</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/access_documentation/">Access documentation locally</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../operation/">LXD server and client</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of LXD server and client</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/server_expose/">Expose LXD to the network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/server_configure/">Configure the LXD server</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/oidc_auth0/">Configure OIDC authentication with Auth0</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/oidc_ory/">Configure OIDC authentication with Ory Hydra</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/oidc_keycloak/">Configure OIDC authentication with Keycloak</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/oidc_entra_id/">Configure OIDC authentication with Microsoft Entra ID</a></li> <li class="toctree-l3"><a class="reference internal" href="../../remotes/">Add remote servers</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/lxc_alias/">Add command aliases</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../instances/">Instances</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Instances</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_create/">Create instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_configure/">Configure instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_manage/">Manage instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../profiles/">Use profiles</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_troubleshoot/">Troubleshoot errors</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_ubuntu_pro_attach/">Auto attach Ubuntu Pro</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_access_files/">Access files</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_console/">Access the console</a></li> <li class="toctree-l3"><a class="reference internal" href="../../instance-exec/">Run commands</a></li> <li class="toctree-l3"><a class="reference internal" href="../../cloud-init/">Use cloud-init</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_routed_nic_vm/">Add a routed NIC to a VM</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_backup/">Back up instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_migrate/">Migrate instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/import_machines_to_instances/">Import existing machines</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/container_gpu_passthrough_with_docker/">Pass NVIDIA GPUs</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../images/">Images</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Images</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/images_remote/">Use remote images</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/images_manage/">Manage images</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/images_profiles/">Associate profiles</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/images_copy/">Copy and import images</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/images_create/">Create images</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../projects/">Projects</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" role="switch" type="checkbox"/><label for="toctree-checkbox-7"><div class="visually-hidden">Toggle navigation of Projects</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/projects_create/">Create and configure</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/projects_work/">Work with projects</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/projects_confine/">Confine users to projects</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../storage/">Storage</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" role="switch" type="checkbox"/><label for="toctree-checkbox-8"><div class="visually-hidden">Toggle navigation of Storage</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/storage_pools/">Manage pools</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/storage_volumes/">Manage volumes</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/storage_buckets/">Manage buckets</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/storage_create_instance/">Create an instance in a pool</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/storage_backup_volume/">Back up a volume</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/storage_move_volume/">Move or copy a volume</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../networks/">Networking</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" role="switch" type="checkbox"/><label for="toctree-checkbox-9"><div class="visually-hidden">Toggle navigation of Networking</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_create/">Create a network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_configure/">Configure a network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_bgp/">Configure as BGP server</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_acls/">Configure network ACLs</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_forwards/">Configure forwards</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_zones/">Configure network zones</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_bridge_firewalld/">Configure your firewall</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_bridge_resolved/">Integrate with resolved</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_ovn_setup/">Set up OVN</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_load_balancers/">Configure load balancers</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_ovn_peers/">Configure peer routing</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_ipam/">Display IPAM information</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../clustering/">Clustering</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" role="switch" type="checkbox"/><label for="toctree-checkbox-10"><div class="visually-hidden">Toggle navigation of Clustering</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_form/">Form a cluster</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_manage/">Manage a cluster</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_config_networks/">Configure networks</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_config_storage/">Configure storage</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_manage_instance/">Manage instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_groups/">Set up cluster groups</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_recover/">Recover a cluster</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../production-setup/">Production setup</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" role="switch" type="checkbox"/><label for="toctree-checkbox-11"><div class="visually-hidden">Toggle navigation of Production setup</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/benchmark_performance/">Benchmark performance</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_increase_bandwidth/">Increase bandwidth</a></li> <li class="toctree-l3"><a class="reference internal" href="../../metrics/">Monitor metrics</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/logs_loki/">Send logs to Loki</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/grafana/">Set up Grafana</a></li> <li class="toctree-l3"><a class="reference internal" href="../../backup/">Back up a server</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/disaster_recovery/">Recover instances</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../howto/snap/">Manage the snap</a></li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../howto/troubleshoot/">Troubleshooting</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" role="switch" type="checkbox"/><label for="toctree-checkbox-12"><div class="visually-hidden">Toggle navigation of Troubleshooting</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../howto/network_bridge_firewalld/">Configure your firewall</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/instances_troubleshoot/">Troubleshoot instances</a></li> <li class="toctree-l3"><a class="reference internal" href="../../howto/dqlite_troubleshoot/">Troubleshoot Dqlite</a></li> <li class="toctree-l3"><a class="reference internal" href="../../debugging/">Debug LXD</a></li> <li class="toctree-l3"><a class="reference internal" href="../../faq/">Frequently asked</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../support/">Get support</a></li> <li class="toctree-l2"><a class="reference internal" href="../../contributing/">Contribute to LXD</a></li> </ul> </li> <li class="toctree-l1 has-children"><a class="reference internal" href="../../explanation/">Explanation</a><input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" role="switch" type="checkbox"/><label for="toctree-checkbox-13"><div class="visually-hidden">Toggle navigation of Explanation</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2"><a class="reference internal" href="../../explanation/lxd_lxc/"><code class="docutils literal notranslate"><span class="pre">lxd</span></code> and <code class="docutils literal notranslate"><span class="pre">lxc</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/instances/">Containers and VMs</a></li> <li class="toctree-l2"><a class="reference internal" href="../../image-handling/">Local and remote images</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/storage/">Storage pools, volumes, and buckets</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/networks/">Networking setups</a></li> <li class="toctree-l2"><a class="reference internal" href="../../database/">The LXD Dqlite database</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/lxc_show_info/"><code class="docutils literal notranslate"><span class="pre">lxc</span></code> <code class="docutils literal notranslate"><span class="pre">show</span></code> and <code class="docutils literal notranslate"><span class="pre">info</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="../../authentication/">Remote API authentication</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/authorization/">Remote API authorization</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/projects/">Instances grouping with projects</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/clusters/">Clusters</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/performance_tuning/">Performance tuning</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/security/">Security</a></li> <li class="toctree-l2"><a class="reference internal" href="../../explanation/bpf/">Privilege delegation using BPF Token</a></li> </ul> </li> <li class="toctree-l1 has-children"><a class="reference internal" href="../../reference/">Reference</a><input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" role="switch" type="checkbox"/><label for="toctree-checkbox-14"><div class="visually-hidden">Toggle navigation of Reference</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2"><a class="reference internal" href="../../requirements/">Requirements</a></li> <li class="toctree-l2"><a class="reference internal" href="../../architectures/">Architectures</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/releases-snap/">Releases and snap</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/remote_image_servers/">Remote image servers</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/image_format/">Image format</a></li> <li class="toctree-l2"><a class="reference internal" href="../../guest-os-compatibility/">Guest OS compatibility</a></li> <li class="toctree-l2"><a class="reference internal" href="../../container-environment/">Container environment</a></li> <li class="toctree-l2"><a class="reference internal" href="../../config-options/">Configuration option index</a></li> <li class="toctree-l2"><a class="reference internal" href="../../server/">Server configuration</a></li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../explanation/instance_config/">Instance configuration</a><input class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" role="switch" type="checkbox"/><label for="toctree-checkbox-15"><div class="visually-hidden">Toggle navigation of Instance configuration</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../reference/instance_properties/">Instance properties</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/instance_options/">Instance options</a></li> <li class="toctree-l3 has-children"><a class="reference internal" href="../../reference/devices/">Devices</a><input class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" role="switch" type="checkbox"/><label for="toctree-checkbox-16"><div class="visually-hidden">Toggle navigation of Devices</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l4"><a class="reference internal" href="../../reference/standard_devices/">Standard devices</a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_none/">Type: <code class="docutils literal notranslate"><span class="pre">none</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_nic/">Type: <code class="docutils literal notranslate"><span class="pre">nic</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_disk/">Type: <code class="docutils literal notranslate"><span class="pre">disk</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_unix_char/">Type: <code class="docutils literal notranslate"><span class="pre">unix-char</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_unix_block/">Type: <code class="docutils literal notranslate"><span class="pre">unix-block</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_usb/">Type: <code class="docutils literal notranslate"><span class="pre">usb</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_gpu/">Type: <code class="docutils literal notranslate"><span class="pre">gpu</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_infiniband/">Type: <code class="docutils literal notranslate"><span class="pre">infiniband</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_proxy/">Type: <code class="docutils literal notranslate"><span class="pre">proxy</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_unix_hotplug/">Type: <code class="docutils literal notranslate"><span class="pre">unix-hotplug</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_tpm/">Type: <code class="docutils literal notranslate"><span class="pre">tpm</span></code></a></li> <li class="toctree-l4"><a class="reference internal" href="../../reference/devices_pci/">Type: <code class="docutils literal notranslate"><span class="pre">pci</span></code></a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="../../reference/instance_units/">Units for storage and network limits</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../reference/preseed_yaml_fields/">Preseed YAML file fields</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/projects/">Project configuration</a></li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/storage_drivers/">Storage drivers</a><input class="toctree-checkbox" id="toctree-checkbox-17" name="toctree-checkbox-17" role="switch" type="checkbox"/><label for="toctree-checkbox-17"><div class="visually-hidden">Toggle navigation of Storage drivers</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_btrfs/">Btrfs - <code class="docutils literal notranslate"><span class="pre">btrfs</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_cephfs/">CephFS - <code class="docutils literal notranslate"><span class="pre">cephfs</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_cephobject/">Ceph Object - <code class="docutils literal notranslate"><span class="pre">cephobject</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_ceph/">Ceph RBD - <code class="docutils literal notranslate"><span class="pre">ceph</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_powerflex/">Dell PowerFlex - <code class="docutils literal notranslate"><span class="pre">powerflex</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_pure/">Pure Storage - <code class="docutils literal notranslate"><span class="pre">pure</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_dir/">Directory - <code class="docutils literal notranslate"><span class="pre">dir</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_lvm/">LVM - <code class="docutils literal notranslate"><span class="pre">lvm</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/storage_zfs/">ZFS - <code class="docutils literal notranslate"><span class="pre">zfs</span></code></a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/networks/">Networks</a><input class="toctree-checkbox" id="toctree-checkbox-18" name="toctree-checkbox-18" role="switch" type="checkbox"/><label for="toctree-checkbox-18"><div class="visually-hidden">Toggle navigation of Networks</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../reference/network_bridge/">Bridge network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/network_ovn/">OVN network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/network_macvlan/">Macvlan network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/network_physical/">Physical network</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/network_sriov/">SR-IOV network</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../reference/cluster_member_config/">Cluster configuration</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/server_settings/">Production server settings</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/provided_metrics/">Provided metrics</a></li> <li class="toctree-l2"><a class="reference internal" href="../../reference/permissions/">Permissions</a></li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../restapi_landing/">REST API</a><input class="toctree-checkbox" id="toctree-checkbox-19" name="toctree-checkbox-19" role="switch" type="checkbox"/><label for="toctree-checkbox-19"><div class="visually-hidden">Toggle navigation of REST API</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../rest-api/">Main API documentation</a></li> <li class="toctree-l3"><a class="reference internal" href="../../api/">Main API specification</a></li> <li class="toctree-l3"><a class="reference internal" href="../../api-extensions/">Main API extensions</a></li> <li class="toctree-l3"><a class="reference internal" href="../../events/">Events API documentation</a></li> <li class="toctree-l3"><a class="reference internal" href="../../dev-lxd/">Instance API</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/manpages/">Man pages</a><input class="toctree-checkbox" id="toctree-checkbox-20" name="toctree-checkbox-20" role="switch" type="checkbox"/><label for="toctree-checkbox-20"><div class="visually-hidden">Toggle navigation of Man pages</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../reference/manpages/lxc/"><code class="docutils literal notranslate"><span class="pre">lxc</span></code></a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../../internals/">Internals</a><input class="toctree-checkbox" id="toctree-checkbox-21" name="toctree-checkbox-21" role="switch" type="checkbox"/><label for="toctree-checkbox-21"><div class="visually-hidden">Toggle navigation of Internals</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../../environment/">Environment variables</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/uefi_variables/">UEFI variables for VMs</a></li> <li class="toctree-l3"><a class="reference internal" href="../../daemon-behavior/">Daemon behavior</a></li> <li class="toctree-l3"><a class="reference internal" href="../../syscall-interception/">System call interception</a></li> <li class="toctree-l3"><a class="reference internal" href="../../userns-idmap/">User namespace setup</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/ovn-internals/">OVN implementation</a></li> <li class="toctree-l3"><a class="reference internal" href="../../reference/vm_live_migration_internals/">VM live migration implementation</a></li> </ul> </li> <li class="toctree-l2"><a class="reference external" href="https://github.com/canonical/lxd">Project repository</a></li> <li class="toctree-l2"><a class="reference external" href="https://images.lxd.canonical.com">Image server</a></li> </ul> </li> </ul> </div> </div> </div> </div> </aside> <div class="main"> <div class="content"> <div class="article-container"> <a href="#" class="back-to-top muted-link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path> </svg> <span>Back to top</span> </a> <div class="content-icon-container"> <div class="view-this-page"> <a class="muted-link" href="../../_sources/tutorial/ui.md.txt" title="View this page"> <svg><use href="#svg-eye"></use></svg> <span class="visually-hidden">View this page</span> </a> </div> <div class="theme-toggle-container theme-toggle-content"> <button class="theme-toggle"> <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> </button> </div> <label class="toc-overlay-icon toc-content-icon" for="__toc"> <div class="visually-hidden">Toggle table of contents sidebar</div> <i class="icon"><svg><use href="#svg-toc"></use></svg></i> </label> </div> <article role="main" id="furo-main-content"> <section id="getting-started-with-the-ui"> <span id="tutorial-ui"></span><h1>Getting started with the UI<a class="headerlink" href="#getting-started-with-the-ui" title="Link to this heading">¶</a></h1> <p>This tutorial gives a quick introduction to using the LXD UI. It covers installing and initializing LXD, getting access to the UI, and carrying out some standard operations like creating, configuring, and interacting with instances, configuring storage, and using projects.</p> <p>After going through these steps, you will have a general idea of how to use LXD through its UI, and you can start exploring more advanced use cases!</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Ensure that you have 20 GiB free disk space before starting this tutorial.</p> </div> <section id="install-and-initialize-lxd"> <h2>Install and initialize LXD<a class="headerlink" href="#install-and-initialize-lxd" title="Link to this heading">¶</a></h2> <p>The easiest way to install LXD is to install the snap package. If you prefer a different installation method, or use a Linux distribution that is not supported by the snap package, see <a class="reference internal" href="../../installing/#installing"><span class="std std-ref">How to install LXD</span></a>.</p> <ol class="arabic"> <li><p>Install <code class="docutils literal notranslate"><span class="pre">snapd</span></code>:</p> <ol class="arabic"> <li><p>Run <code class="docutils literal notranslate"><span class="pre">snap</span> <span class="pre">version</span></code> to find out if snap is installed on your system:</p> <div class="terminal docutils container"> <div class="input docutils container"> <code class="prompt docutils literal notranslate"><span class="pre">~$</span> </code><code class="command docutils literal notranslate"><span class="pre">snap</span> <span class="pre">version</span></code></div> <code class="output docutils literal notranslate"><span class="pre">snap</span>    <span class="pre">2.63+24.04ubuntu0.1</span></code><code class="output docutils literal notranslate"><span class="pre">snapd</span>   <span class="pre">2.63+24.04ubuntu0.1</span></code><code class="output docutils literal notranslate"><span class="pre">series</span>  <span class="pre">16</span></code><code class="output docutils literal notranslate"><span class="pre">ubuntu</span>  <span class="pre">24.04</span></code><code class="output docutils literal notranslate"><span class="pre">kernel</span>  <span class="pre">5.15.0-117-generic</span></code></div> <p>If you see a table of version numbers, snap is installed and you can continue with the next step of installing LXD.</p> </li> <li><p>If the command returns an error, run the following commands to install the latest version of <code class="docutils literal notranslate"><span class="pre">snapd</span></code> on Ubuntu:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo apt update sudo apt install snapd </pre></div> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>For other Linux distributions, see the <a class="reference external" href="https://snapcraft.io/docs/installing-snapd">installation instructions</a> in the Snapcraft documentation.</p> </div> </li> </ol> </li> <li><p>Enter the following command to install LXD:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo snap install lxd </pre></div> </div> <p>If you get an error message that the LXD snap is already installed, run the following command to refresh it and ensure that you are running an up-to-date version:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo snap refresh lxd </pre></div> </div> </li> <li><p>Check if the current user is part of the <code class="docutils literal notranslate"><span class="pre">lxd</span></code> group (the group was automatically created during the previous step):</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>getent group lxd | grep "$USER" </pre></div> </div> <p>If this command returns a result, you’re set up correctly and can continue with the next step.</p> <p>If there is no result, enter the following commands to add the current user to the <code class="docutils literal notranslate"><span class="pre">lxd</span></code> group (which is needed to grant the user permission to interact with LXD):</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo usermod -aG lxd "$USER" newgrp lxd </pre></div> </div> </li> <li><p>Enter the following command to initialize LXD:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>lxd init --minimal </pre></div> </div> <p>This will create a minimal setup with default options. If you want to tune the initialization options, see <a class="reference internal" href="../../howto/initialize/#initialize"><span class="std std-ref">How to initialize LXD</span></a> for more information.</p> </li> <li><p>LXD supports both <a class="reference internal" href="../../explanation/instances/#containers-and-vms"><span class="std std-ref">Containers and VMs</span></a>. For LXD virtual machines, your host system must be capable of KVM virtualization. To check this, run the following command:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>lxc info | grep -FA2 'instance_types' </pre></div> </div> <p>The following output indicates that your host system is capable of virtualization:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>instance_types: - container - virtual-machine </pre></div> </div> <p>If <code class="docutils literal notranslate"><span class="pre">virtual-machine</span></code> fails to appear in the output, this indicates that the host system is not capable of virtualization. In this case, LXD can only be used for containers. You can proceed with this tutorial to learn about using containers, but disregard the steps that refer to virtual machines.</p> </li> </ol> </section> <section id="access-the-ui"> <span id="tutorial-ui-access"></span><h2>Access the UI<a class="headerlink" href="#access-the-ui" title="Link to this heading">¶</a></h2> <p>You access the LXD UI through your browser. See <a class="reference internal" href="../../howto/access_ui/#access-ui"><span class="std std-ref">How to access the LXD web UI</span></a> for more information.</p> <ol class="arabic"> <li><p>Expose LXD to the network by setting the <a class="configref reference internal" href="../../server/#server-core:core.https_address"><code class="docutils literal notranslate"><span class="pre">core.https_address</span></code></a> server configuration option:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>lxc config set core.https_address :8443 </pre></div> </div> </li> </ol> <ol class="arabic" start="2"> <li><p>Access the UI in your browser by entering the server address (for example, <a class="reference external" href="https://127.0.0.1:8443"><code class="docutils literal notranslate"><span class="pre">https://127.0.0.1:8443</span></code></a> for a local server, or an address like <code class="docutils literal notranslate"><span class="pre">https://192.0.2.10:8443</span></code> for a server running on <code class="docutils literal notranslate"><span class="pre">192.0.2.10</span></code>).</p> <p>If you have not set up a secure <a class="reference internal" href="../../authentication/#authentication-server-certificate"><span class="std std-ref">TLS server certificate</span></a>, LXD uses a self-signed certificate, which will cause a security warning in your browser. Use your browser’s mechanism to continue despite the security warning.</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/ui_security_warning.png"><img alt="Example for a security warning in Chrome" src="../../_images/ui_security_warning.png" style="width: 80%;" /> </a> </figure> </li> <li><p>Set up the certificates that are required for the UI client to authenticate with the LXD server by following the steps presented in the UI.</p> <p>You have two options, depending on whether you already have a client certificate selected in your browser:</p> <ul> <li><p>If you don’t have a certificate yet, click <span class="guilabel">Create a new certificate</span> to get instructions for creating a set of certificates, adding the public key to the server’s trust store, and adding the private key to your browser.</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/ui_set_up_certificates.png"><img alt="Instructions for setting up certificates for the UI" src="../../_images/ui_set_up_certificates.png" style="width: 100%;" /> </a> </figure> </li> <li><p>If you already have a client certificate in your browser, select “use an existing certificate” to authorize the certificate with the server and re-use it.</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/ui_set_up_existing_cert.png"><img alt="Instructions for re-using an existing certificate for the UI" src="../../_images/ui_set_up_existing_cert.png" style="width: 100%;" /> </a> </figure> </li> </ul> <p>See <a class="reference internal" href="../../authentication/#authentication"><span class="std std-ref">Remote API authentication</span></a> for more information.</p> </li> </ol> </section> <section id="create-and-start-instances"> <h2>Create and start instances<a class="headerlink" href="#create-and-start-instances" title="Link to this heading">¶</a></h2> <p>Let’s start by launching a few instances. With <em>instance</em>, we mean either a container or a virtual machine. See <a class="reference internal" href="../../explanation/instances/#containers-and-vms"><span class="std std-ref">Containers and VMs</span></a> for information about the difference between the two instance types.</p> <ol class="arabic"> <li><p>Select <span class="guilabel">Instances</span> from the navigation.</p></li> <li><p>Click <span class="guilabel">Create instance</span> to launch a container called <code class="docutils literal notranslate"><span class="pre">first</span></code> using the Ubuntu 24.04 LTS image:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/create_instance.png"><img alt="Create an Ubuntu 24.04 LTS container" src="../../_images/create_instance.png" style="width: 100%;" /> </a> </figure> <p>To select the base image, click <span class="guilabel">Browse images</span>. Click <span class="guilabel">Select</span> next to the Ubuntu 24.04 LTS image.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>The images that are displayed are hosted on pre-configured <a class="reference internal" href="../../reference/remote_image_servers/#remote-image-servers"><span class="std std-ref">Remote image servers</span></a>. You can filter which images are displayed.</p> <p>You can also upload a custom ISO file to boot from. See <a class="reference internal" href="../../howto/instances_create/#instances-create-iso"><span class="std std-ref">Create a VM that boots from an ISO</span></a> for more information.</p> </div> </li> <li><p>To launch the container, click <span class="guilabel">Create and start</span>.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Launching this container takes a few seconds, because the image must be downloaded and unpacked first.</p> </div> </li> <li><p>Create another container called <code class="docutils literal notranslate"><span class="pre">second</span></code>, using the same image. After entering the name and selecting the image, click <span class="guilabel">Create</span> instead of <span class="guilabel">Create and start</span>.</p> <p>This container will be created but not started.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Creating this container is quicker than launching the first, because the image is already available locally.</p> </div> </li> <li><p>Create and start a VM called <code class="docutils literal notranslate"><span class="pre">ubuntu-vm</span></code> using the Ubuntu 24.04 LTS image. To create a VM instead of a container, select <span class="guilabel">VM</span> as the instance type:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/create_vm.png"><img alt="Create an Ubuntu 24.04 LTS VM" src="../../_images/create_vm.png" style="width: 100%;" /> </a> </figure> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Even though you are using the same image name to launch the instance, LXD downloads a slightly different image that is compatible with VMs.</p> </div> </li> <li><p>Start creating (do not click <span class="guilabel">Create and start</span> yet) a VM called <code class="docutils literal notranslate"><span class="pre">ubuntu-desktop</span></code>. When selecting the image, filter by variant “desktop” to find the Ubuntu 24.04 LTS desktop image. Note that after you select the image, the instance type is automatically set to <span class="guilabel">VM</span>:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/create_desktop_vm.png"><img alt="Create an Ubuntu 24.04 LTS desktop VM" src="../../_images/create_desktop_vm.png" style="width: 100%;" /> </a> </figure> <p>To run smoothly, the desktop VM needs more RAM. Therefore, navigate to <span class="guilabel">Advanced</span> > <span class="guilabel">Resource limits</span> and set the <span class="guilabel">Memory limit</span> to 4 GiB. Then click <span class="guilabel">Create and start</span> to start the instance.</p> </li> <li><p>Check the list of instances that you created:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/instances.png"><img alt="List of instances" src="../../_images/instances.png" style="width: 100%;" /> </a> </figure> <p>You will see that all but the <code class="docutils literal notranslate"><span class="pre">second</span></code> container are running. This is because you created the <code class="docutils literal notranslate"><span class="pre">second</span></code> container but didn’t start it.</p> <p>You can start the <code class="docutils literal notranslate"><span class="pre">second</span></code> container by clicking the <span class="guilabel">Start</span> button (▷) next to it.</p> </li> </ol> <p>See <a class="reference internal" href="../../howto/instances_create/#instances-create"><span class="std std-ref">How to create instances</span></a> for more information.</p> </section> <section id="inspect-instances"> <h2>Inspect instances<a class="headerlink" href="#inspect-instances" title="Link to this heading">¶</a></h2> <p>In the list of instances, click on one of the lines to see more information about the respective instance:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/instance_summary.png"><img alt="Information about an instance in the instance summary" src="../../_images/instance_summary.png" style="width: 100%;" /> </a> </figure> <p>Click on an instance name to go to the instance detail page, where you can inspect your instance:</p> <ul> <li><p>The <span class="guilabel">Overview</span> tab shows general information and usage statistics about the instance.</p></li> <li><p>The <span class="guilabel">Configuration</span> tab contains the instance configuration. For now, just click through to inspect the configuration. We’ll do some updates later.</p> <p>If you want to see the full instance configuration, go to the YAML configuration:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/yaml_configuration.png"><img alt="YAML configuration of an instance" src="../../_images/yaml_configuration.png" style="width: 100%;" /> </a> </figure> </li> <li><p>The <span class="guilabel">Snapshots</span> tab shows available snapshots. You can ignore this for now; we’ll look into snapshots later.</p></li> <li><p>The <span class="guilabel">Terminal</span> tab allows you to interact with your instance. For example, enter the following command to display information about the operating system:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cat /etc/*release </pre></div> </div> <p>Or have some fun:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>apt update apt install fortune /usr/games/fortune </pre></div> </div> <p>See <a class="reference internal" href="../../instance-exec/#run-commands-shell"><span class="std std-ref">Get shell access to your instance</span></a> for more information.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>When you navigate away from the <span class="guilabel">Terminal</span> tab, you are asked to confirm. The reason for this confirmation prompt is that the terminal session is not saved, so once you navigate away, your command history is lost.</p> </div> </li> <li><p>The <span class="guilabel">Console</span> tab is mainly relevant during startup of an instance, and for VMs.</p> <p>Go to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">ubuntu-desktop</span></code> VM and check the graphic console:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/desktop_console.png"><img alt="Graphic console of the Ubuntu desktop VM" src="../../_images/desktop_console.png" style="width: 100%;" /> </a> </figure> <p>See <a class="reference internal" href="../../howto/instances_console/#instances-console"><span class="std std-ref">How to access the console</span></a> for more information.</p> </li> <li><p>The <span class="guilabel">Logs</span> tab contains log files for inspection and download. Running instances have only limited information. More log files are added if an instance ends up in error state.</p> <p>See <a class="reference internal" href="../../howto/instances_troubleshoot/#instances-troubleshoot"><span class="std std-ref">How to troubleshoot failing instances</span></a> for more information.</p> </li> </ul> </section> <section id="stop-and-delete-instances"> <h2>Stop and delete instances<a class="headerlink" href="#stop-and-delete-instances" title="Link to this heading">¶</a></h2> <p>For the remainder of the tutorial, we don’t need all of the instances we created. So let’s clean some of them up:</p> <ol class="arabic"> <li><p>Go back to the instances list.</p></li> <li><p>Stop the <code class="docutils literal notranslate"><span class="pre">second</span></code> container by clicking the <span class="guilabel">Stop</span> button (□) next to it.</p></li> <li><p>Delete the <code class="docutils literal notranslate"><span class="pre">second</span></code> container. To do so, click the instance name to go to the instance detail page. Then click the <span class="guilabel">Delete instance</span> button at the top.</p></li> <li><p>Go to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">ubuntu-vm</span></code> VM to delete it.</p> <p>You will see that the <span class="guilabel">Delete instance</span> button at the top is not active. This is because the instance is still running.</p> <p>Stop it by clicking the <span class="guilabel">Stop</span> button (□) at the top, then click <span class="guilabel">Delete instance</span>.</p> </li> </ol> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>If stopping an instance takes a long time, click the spinning <span class="guilabel">Stop</span> button to go back to the confirmation prompt, where you can select to force-stop the instance.</p> </div> <p>See <a class="reference internal" href="../../howto/instances_manage/#instances-manage"><span class="std std-ref">How to manage instances</span></a> for more information.</p> </section> <section id="configure-instances"> <h2>Configure instances<a class="headerlink" href="#configure-instances" title="Link to this heading">¶</a></h2> <p>There are several limits and configuration options that you can set for your instances. See <a class="reference internal" href="../../reference/instance_options/#instance-options"><span class="std std-ref">Instance options</span></a> for an overview.</p> <p>Let’s create another container with some resource limits:</p> <ol class="arabic"> <li><p>On the instances list, click <span class="guilabel">Create instance</span>. Enter <code class="docutils literal notranslate"><span class="pre">limited</span></code> as the instance name and select the Ubuntu 24.04 LTS image.</p></li> <li><p>Expand <span class="guilabel">Advanced</span> and go to <span class="guilabel">Resource limits</span>.</p></li> <li><p>Change the <span class="guilabel">Exposed CPU limit</span> to 1 and the <span class="guilabel">Memory limit</span> to 4 GiB:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/resource_limits.png"><img alt="Configure some resource limits" src="../../_images/resource_limits.png" style="width: 100%;" /> </a> </figure> </li> <li><p>Click <span class="guilabel">Create and start</span>.</p></li> <li><p>When the instance is running, go to its instance detail page and select <span class="guilabel">Configuration</span> > <span class="guilabel">Advanced</span> > <span class="guilabel">Resource limits</span>. Confirm that the limits you set are visible.</p></li> <li><p>Go to the <span class="guilabel">Terminal</span> tab and enter the following commands:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>free -m nproc </pre></div> </div> <p>You should see that the total memory is limited to 4096, and the number of available CPUs is 1.</p> </li> <li><p>Go to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">first</span></code> container and enter the same commands.</p> <p>You should see that the values differ from those of the <code class="docutils literal notranslate"><span class="pre">limited</span></code> container. The exact values depend on your host system (so if your host system has only one CPU, for example, you might see one CPU for the <code class="docutils literal notranslate"><span class="pre">first</span></code> container as well).</p> </li> <li><p>You can also update the configuration while your container is running:</p> <ol class="arabic"> <li><p>Go back to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">limited</span></code> container and select <span class="guilabel">Configuration</span> > <span class="guilabel">Advanced</span> > <span class="guilabel">Resource limits</span>.</p></li> <li><p>Click <span class="guilabel">Edit instance</span> and change the memory limit to 2 GiB. Then save.</p></li> <li><p>Go to the <span class="guilabel">Terminal</span> tab and enter the following command:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>free -m </pre></div> </div> <p>Note that the number has changed.</p> </li> </ol> </li> </ol> <p>Depending on the instance type and the storage drivers that you use, there are more configuration options that you can specify. For example, you can configure the size (quota) of the root disk device for a VM:</p> <ol class="arabic"> <li><p>Go to the terminal for the <code class="docutils literal notranslate"><span class="pre">ubuntu-desktop</span></code> VM and check the current size of the root disk device (<code class="docutils literal notranslate"><span class="pre">/dev/sda2</span></code>):</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>df -h </pre></div> </div> </li> <li><p>Navigate to <span class="guilabel">Configuration</span> > <span class="guilabel">Advanced</span> > <span class="guilabel">Disk devices</span>.</p> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>By default, the size of the root disk is inherited from the default profile. Profiles store a set of configuration options and can be applied to instances instead of specifying the configuration option for each instance separately.</p> <p>See <a class="reference internal" href="../../profiles/#profiles"><span class="std std-ref">How to use profiles</span></a> for more information.</p> </div> </li> <li><p>Override the size of the root disk device to be 30 GiB:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/root_disk_size.png"><img alt="Change the size of the root disk" src="../../_images/root_disk_size.png" style="width: 100%;" /> </a> </figure> </li> <li><p>Save the configuration, and then restart the VM by clicking the <span class="guilabel">Restart</span> button (<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><path d='M6.197 1.15v4.931h-1.5l-.001-2.478a5.5 5.5 0 106.302-.215l.75-1.3a7 7 0 11-8.263.562H1.268v-1.5h4.93z' fill='%23000' fill-rule='evenodd'/></svg>).</p></li> <li><p>In the terminal, check the size of the root disk device again:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>df -h </pre></div> </div> <p>Note that the size has changed.</p> </li> </ol> <p>See <a class="reference internal" href="../../howto/instances_configure/#instances-configure"><span class="std std-ref">How to configure instances</span></a> and <a class="reference internal" href="../../explanation/instance_config/#instance-config"><span class="std std-ref">Instance configuration</span></a> for more information.</p> </section> <section id="manage-snapshots"> <h2>Manage snapshots<a class="headerlink" href="#manage-snapshots" title="Link to this heading">¶</a></h2> <p>You can create a snapshot of your instance, which makes it easy to restore the instance to a previous state.</p> <ol class="arabic"> <li><p>Go to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">first</span></code> container and select the <span class="guilabel">Snapshots</span> tab.</p></li> <li><p>Click <span class="guilabel">Create snapshot</span> and enter the snapshot name <code class="docutils literal notranslate"><span class="pre">clean</span></code>. Leave the other options unchanged and create the snapshot.</p> <p>You should now see the snapshot in the list.</p> </li> <li><p>Go to the <span class="guilabel">Terminal</span> tab and break the container:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>rm /usr/bin/bash </pre></div> </div> </li> <li><p>Confirm the breakage by reloading the page:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/broken_terminal.png"><img alt="Error when trying to load the terminal" src="../../_images/broken_terminal.png" style="width: 100%;" /> </a> </figure> <p>The UI cannot open a terminal in your container anymore, because you deleted the <code class="docutils literal notranslate"><span class="pre">bash</span></code> command.</p> </li> <li><p>Go back to the <span class="guilabel">Snapshots</span> tab and restore the container to the state of the snapshot by clicking the <span class="guilabel">Restore snapshot</span> button (<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><path d='M5.948 9.012v1.5l-2.458.001A5.163 5.163 0 0012.76 10h1.596a6.665 6.665 0 01-11.839 1.785v2.158h-1.5v-4.93h4.93zM8 1.338a6.655 6.655 0 015.516 2.925V2.11h1.5v4.93h-4.93v-1.5h2.453A5.163 5.163 0 003.24 6H1.643A6.665 6.665 0 018 1.338z' fill='%23000' fill-rule='evenodd'/></svg>) next to it.</p></li> <li><p>Go back to the <span class="guilabel">Terminal</span> tab. The terminal should now load again.</p></li> <li><p>Go to the <span class="guilabel">Snapshots</span> tab and delete the snapshot by clicking the <span class="guilabel">Delete snapshot</span> button (<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><path d='M4.5 6v6a1.5 1.5 0 001.356 1.493L6 13.5h4a1.5 1.5 0 001.493-1.356L11.5 12V6H13v6a3 3 0 01-3 3H6a3 3 0 01-3-3V6h1.5zm3 0v5.994H6V6h1.5zm2.498 0v5.994h-1.5V6h1.5zM8.5 0A2.5 2.5 0 0111 2.5V3h3v1.5H2V3h3v-.5A2.5 2.5 0 017.5 0h1zm0 1.5h-1a1 1 0 00-.993.883L6.5 2.5V3h3v-.5a1 1 0 00-.883-.993L8.5 1.5z' fill='%23000' fill-rule='evenodd'/></svg>) next to it.</p></li> </ol> <p>See <a class="reference internal" href="../../howto/instances_backup/#instances-snapshots"><span class="std std-ref">Use snapshots for instance backup</span></a> for more information.</p> </section> <section id="add-a-custom-storage-volume"> <h2>Add a custom storage volume<a class="headerlink" href="#add-a-custom-storage-volume" title="Link to this heading">¶</a></h2> <p>You can add additional storage to your instance, and also share storage between different instances. See <a class="reference internal" href="../../explanation/storage/#storage-volumes"><span class="std std-ref">Storage volumes</span></a> for more information.</p> <p>Let’s start by creating a custom storage volume:</p> <ol class="arabic"> <li><p>Navigate to <span class="guilabel">Storage</span> > <span class="guilabel">Volumes</span>.</p> <p>Even though you have not created any custom storage volumes yet, you should see several storage volumes in the list. These are instance volumes (which contain the root disks of your instances) and image volumes (which contain the cached base images).</p> </li> <li><p>Click <code class="docutils literal notranslate"><span class="pre">Create</span> <span class="pre">volume</span></code> and enter a name and a size. Leave the default content type (<code class="docutils literal notranslate"><span class="pre">filesystem</span></code>).</p></li> </ol> <p>After creating the instance, we can attach it to some instances:</p> <ol class="arabic"> <li><p>Go to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">first</span></code> container.</p></li> <li><p>Go to <span class="guilabel">Configuration</span> > <span class="guilabel">Advanced</span> > <span class="guilabel">Disk devices</span>.</p></li> <li><p>Click <span class="guilabel">Edit instance</span> and then <span class="guilabel">Attach disk device</span>.</p></li> <li><p>Select the disk device that you just created.</p> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>You can create a custom volume directly from this screen as well.</p> </div> </li> <li><p>Enter <code class="docutils literal notranslate"><span class="pre">/data</span></code> as the mount point and save your changes:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/add_disk_device.png"><img alt="Add the custom volume to your instance" src="../../_images/add_disk_device.png" style="width: 100%;" /> </a> </figure> </li> <li><p>Go to the <span class="guilabel">Terminal</span> tab and enter the following command to create a file on the custom volume:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>touch /data/hello_world </pre></div> </div> </li> <li><p>Go to the instance detail page of the <code class="docutils literal notranslate"><span class="pre">ubuntu-desktop</span></code> VM and add the same custom storage volume with the same mount point (<code class="docutils literal notranslate"><span class="pre">/data</span></code>).</p></li> <li><p>Go to the <span class="guilabel">Terminal</span> tab and enter the following command to see the file you created from your <code class="docutils literal notranslate"><span class="pre">first</span></code> container:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>ls /data/ </pre></div> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>You can also look at the directory in the file browser. To do so, enter the following command in the terminal first:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>chown ubuntu /data /data/* </pre></div> </div> <p>Then switch to the console, open the file browser, and navigate to the <code class="docutils literal notranslate"><span class="pre">/data</span></code> folder:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/hello_world_desktop.png"><img alt="View the file on the shared volume in the file browser" src="../../_images/hello_world_desktop.png" style="width: 100%;" /> </a> </figure> </div> </li> </ol> </section> <section id="use-projects"> <h2>Use projects<a class="headerlink" href="#use-projects" title="Link to this heading">¶</a></h2> <p>You can use projects to group related instances, and other entities, on your LXD server. See <a class="reference internal" href="../../explanation/projects/#exp-projects"><span class="std std-ref">Instances grouping with projects</span></a> and <a class="reference internal" href="../../howto/projects_create/#projects-create"><span class="std std-ref">How to create and configure projects</span></a> for more information.</p> <p>Originally, there is only a default project on the server. All the instances you created so far are part of this project.</p> <p>Now, let’s create another project:</p> <ol class="arabic"> <li><p>Expand the <span class="guilabel">Project</span> dropdown and click <span class="guilabel">Create project</span>:</p> <figure class="align-default"> <a class="reference internal image-reference" href="../../_images/create_project1.png"><img alt="Create a project" src="../../_images/create_project1.png" style="width: 100%;" /> </a> </figure> </li> <li><p>Enter <code class="docutils literal notranslate"><span class="pre">tutorial</span></code> as the project name.</p></li> <li><p>For features, select <code class="docutils literal notranslate"><span class="pre">Customised</span></code>.</p> <p>You can then select which features should be isolated. “Isolated” in this context means that if you select one of the features, entities of this type are confined to the project. So when you use a project where, for example, storage volumes are isolated, you can see only the storage volumes that are defined within the project.</p> </li> <li><p>Deselect <code class="docutils literal notranslate"><span class="pre">Storage</span> <span class="pre">volumes</span></code> and create the project.</p></li> </ol> <p>The new project is automatically selected for you. Let’s check its content:</p> <ol class="arabic"> <li><p>Go to <span class="guilabel">Instances</span>.</p> <p>You will see that there are no instances in your project, because instances are always isolated, and the instances you created earlier are in the default project.</p> </li> <li><p>Create an instance in the new project.</p> <p>You should notice that you get an error about missing root storage. The reason for this is that the root storage is usually defined in the default profile, but profiles are isolated in the project.</p> </li> <li><p>To resolve the error, edit the root storage. Use the <code class="docutils literal notranslate"><span class="pre">default</span></code> pool and leave the size empty.</p> <p>Then create the instance.</p> </li> <li><p>Go to <span class="guilabel">Storage</span> > <span class="guilabel">Volumes</span>.</p> <p>Remember that in the default project, you saw three different kinds of storage volumes in the volume list:</p> <ul class="simple"> <li><p>Instance (container or VM) volumes</p></li> <li><p>Image volumes</p></li> <li><p>Custom volumes</p></li> </ul> <p>You should see the same three types in the <code class="docutils literal notranslate"><span class="pre">tutorial</span></code> project. However, note the following:</p> <ul> <li><p>You can see only one instance volume and one image volume. These are for the one instance you created in the <code class="docutils literal notranslate"><span class="pre">tutorial</span></code> project.</p> <p>You cannot see the instance and image volumes for the instances you created in the default project, because both instances and images are isolated in the <code class="docutils literal notranslate"><span class="pre">tutorial</span></code> project, so you cannot see the corresponding storage volumes from other projects.</p> </li> <li><p>You can see the custom storage volume that you created in the default project.</p> <p>Because you deselected <code class="docutils literal notranslate"><span class="pre">Storage</span> <span class="pre">volumes</span></code> when creating the project, storage volumes are not isolated, and you can therefore see storage volumes from other projects.</p> </li> </ul> </li> </ol> </section> <section id="clean-up-entities"> <h2>Clean up entities<a class="headerlink" href="#clean-up-entities" title="Link to this heading">¶</a></h2> <p>Now that we’ve run through the basic functionality of LXD, let’s clean up the entities we created throughout the tutorial.</p> <ol class="arabic"> <li><p>With the <code class="docutils literal notranslate"><span class="pre">tutorial</span></code> project still selected, go to the instances list and stop and delete the instance you created in this project.</p></li> <li><p>Go to <span class="guilabel">Images</span> and click the <span class="guilabel">Delete</span> button (<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><path d='M4.5 6v6a1.5 1.5 0 001.356 1.493L6 13.5h4a1.5 1.5 0 001.493-1.356L11.5 12V6H13v6a3 3 0 01-3 3H6a3 3 0 01-3-3V6h1.5zm3 0v5.994H6V6h1.5zm2.498 0v5.994h-1.5V6h1.5zM8.5 0A2.5 2.5 0 0111 2.5V3h3v1.5H2V3h3v-.5A2.5 2.5 0 017.5 0h1zm0 1.5h-1a1 1 0 00-.993.883L6.5 2.5V3h3v-.5a1 1 0 00-.883-.993L8.5 1.5z' fill='%23000' fill-rule='evenodd'/></svg>) next to it.</p></li> <li><p>Go to <span class="guilabel">Configuration</span> and click the <span class="guilabel">Delete project</span> button in the top-right corner.</p> <p>After deleting the project, you are automatically switched back to the default project.</p> </li> <li><p>Stop and delete all instances in the default project. To do this all at once, go to the instance list and select all instances. Then click <span class="guilabel">Stop</span> at the top. Finally, click <span class="guilabel">Delete</span> at the top.</p></li> <li><p>Go to <span class="guilabel">Storage</span> > <span class="guilabel">Volumes</span> and click the <span class="guilabel">Delete</span> button (<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg'><path d='M4.5 6v6a1.5 1.5 0 001.356 1.493L6 13.5h4a1.5 1.5 0 001.493-1.356L11.5 12V6H13v6a3 3 0 01-3 3H6a3 3 0 01-3-3V6h1.5zm3 0v5.994H6V6h1.5zm2.498 0v5.994h-1.5V6h1.5zM8.5 0A2.5 2.5 0 0111 2.5V3h3v1.5H2V3h3v-.5A2.5 2.5 0 017.5 0h1zm0 1.5h-1a1 1 0 00-.993.883L6.5 2.5V3h3v-.5a1 1 0 00-.883-.993L8.5 1.5z' fill='%23000' fill-rule='evenodd'/></svg>) next to the <code class="docutils literal notranslate"><span class="pre">tutorial_volume</span></code> storage volume.</p></li> </ol> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Optionally, you can also delete the images that you used. However, this isn’t really needed. If you keep them, they will eventually expire (by default, when they haven’t been used for ten days).</p> </div> </section> <section id="next-steps"> <h2>Next steps<a class="headerlink" href="#next-steps" title="Link to this heading">¶</a></h2> <p>Now that you’ve done your first experiments with LXD, you should read up on important concepts in the <a class="reference internal" href="../../explanation/#explanation"><span class="std std-ref">Explanation</span></a> section and check out the <a class="reference internal" href="../../howto/#howtos"><span class="std std-ref">How-to guides</span></a> to start working with LXD!</p> </section> </section> </article> </div> <footer> <div class="related-pages"> <a class="next-page" href="../../howto/"> <div class="page-info"> <div class="context"> <span>Next</span> </div> <div class="title">How-to guides</div> </div> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> </a> <a class="prev-page" href="../first_steps/"> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> <div class="page-info"> <div class="context"> <span>Previous</span> </div> <div class="title">First steps with LXD</div> </div> </a> </div> <div class="bottom-of-page"> <div class="left-details"> <div class="copyright"> Copyright © 2014-2025 LXD contributors </div> <div class="last-updated"> Last updated on Aug 12, 2025</div> <div class="show-source"> <a class="muted-link" href="../../_sources/tutorial/ui.md.txt" rel="nofollow">Show source</a> </div> </div> <div> <a class="display-contributors">Thanks to the 2 contributors!</a> <div id="overlay"></div> <ul class="all-contributors"> <li> <a href="https://github.com/canonical/lxd/commit/185f4b97c5eca5912f2fb93bf3ae679a5e7b1049" class="contributor">Minae Lee</a> </li> <li> <a href="https://github.com/canonical/lxd/commit/feedc99818022c61eb0807e71d51b7b77d95011f" class="contributor">Ruth Fuchss</a> </li> </ul> </div> <div class="right-details"> <div class="ask-discourse"> <a class="muted-link" href="https://discourse.ubuntu.com/c/lxd/">Ask a question on Discourse</a> </div> <div class="ask-matrix"> <a class="muted-link" href="https://matrix.to/#/#documentation:ubuntu.com">Ask a question on Matrix</a> </div> <div class="issue-github"> <a class="muted-link" href="https://github.com/canonical/lxd/issues/new?title=doc%3A+ADD+A+TITLE&body=DESCRIBE+THE+ISSUE%0A%0A---%0ADocument: tutorial/ui.md">Open a GitHub issue for this page</a> </div> <div class="edit-github"> <a class="muted-link" href="https://github.com/canonical/lxd/edit/main/doc/tutorial/ui.md">Edit this page on GitHub</a> </div> </div> </div> </div> </footer> </div> <aside class="toc-drawer"> <div class="toc-sticky toc-scroll"> <div class="toc-title-container"> <span class="toc-title"> Contents </span> </div> <div class="toc-tree-container"> <div class="toc-tree"> <ul> <li><a class="reference internal" href="#">Getting started with the UI</a><ul> <li><a class="reference internal" href="#install-and-initialize-lxd">Install and initialize LXD</a></li> <li><a class="reference internal" href="#access-the-ui">Access the UI</a></li> <li><a class="reference internal" href="#create-and-start-instances">Create and start instances</a></li> <li><a class="reference internal" href="#inspect-instances">Inspect instances</a></li> <li><a class="reference internal" href="#stop-and-delete-instances">Stop and delete instances</a></li> <li><a class="reference internal" href="#configure-instances">Configure instances</a></li> <li><a class="reference internal" href="#manage-snapshots">Manage snapshots</a></li> <li><a class="reference internal" href="#add-a-custom-storage-volume">Add a custom storage volume</a></li> <li><a class="reference internal" href="#use-projects">Use projects</a></li> <li><a class="reference internal" href="#clean-up-entities">Clean up entities</a></li> <li><a class="reference internal" href="#next-steps">Next steps</a></li> </ul> </li> </ul> </div> </div> </div> </aside> </div> </div><script src="../../_static/jquery.js?v=5d32c60e"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="../../_static/documentation_options.js?v=187304be"></script> <script src="../../_static/doctools.js?v=9bcbadda"></script> <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script> <script src="../../_static/scripts/furo.js?v=46bd48cc"></script> <script src="../../_static/clipboard.min.js?v=a7894cd8"></script> <script src="../../_static/copybutton.js?v=f281be69"></script> <script src="../../_static/config-options.js"></script> <script src="../../_static/design-tabs.js?v=f930bc37"></script> <script src="../../_static/header-nav.js?v=e117ad08"></script> <script src="../../_static/footer.js?v=5acea47a"></script> <script src="../../_static/github_issue_links.js?v=32bb732f"></script> <script src="../../_static/js/bundle.js?v=a4d88309"></script> <script> const github_url = "https://github.com/canonical/lxd"; </script> </body> </html>
Copyright ©2k19 -
Hexid
|
Tex7ure