+
+[[faq-upgrade]]
+How can I upgrade {pve} to the next release?::
+
+Minor version upgrades, for example upgrading from {pve} in version 5.1
+to 5.2, can be done just like any normal update, either through the Web
+GUI __Node -> Updates__ panel or through the CLI with:
++
+----
+apt update
+apt full-upgrade
+----
++
+NOTE: Always ensure you correctly setup the
+xref:sysadmin_package_repositories[package repositories] and only
+continue with the actual upgrade if `apt update` did not hit any error.
++
+Major version upgrades, for example going from {pve} 4.4 to 5.0, are
+also supported. They must be carefully planned and tested and should
+*never* be started without having a current backup ready.
+Although the specific upgrade steps depend on your respective setup, we
+provide general instructions and advice of how a upgrade should be
+performed:
++
+* https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0[Upgrade from {pve} 5.x to 6.0]
+
+* https://pve.proxmox.com/wiki/Upgrade_from_4.x_to_5.0[Upgrade from {pve} 4.x to 5.0]
+
+* https://pve.proxmox.com/wiki/Upgrade_from_3.x_to_4.0[Upgrade from {pve} 3.x to 4.0]
+
+LXC vs LXD vs Proxmox Containers vs Docker::
+
+LXC is a userspace interface for the Linux kernel containment
+features. Through a powerful API and simple tools, it lets Linux users
+easily create and manage system containers. LXC, as well as the former
+OpenVZ, aims at *system virtualization*, i.e. allows you to run a
+complete OS inside a container, where you log in as ssh, add users,
+run apache, etc...
++
+LXD is building on top of LXC to provide a new, better user
+experience. Under the hood, LXD uses LXC through `liblxc` and its Go
+binding to create and manage the containers. It's basically an
+alternative to LXC's tools and distribution template system with the
+added features that come from being controllable over the network.
++
+Proxmox Containers also aims at *system virtualization*, and thus uses
+LXC as the basis of its own container offer. The Proxmox Container
+Toolkit is called `pct`, and is tightly coupled with {pve}. That means
+that it is aware of the cluster setup, and it can use the same network
+and storage resources as fully virtualized VMs. You can even use the
+{pve} firewall, create and restore backups, or manage containers using
+the HA framework. Everything can be controlled over the network using
+the {pve} API.
++
+Docker aims at running a *single* application running in a contained
+environment. Hence you're managing a docker instance from the host with the
+docker toolkit. It is not recommended to run docker directly on your
+{pve} host.
++
+NOTE: You can however perfectly install and use docker inside a Proxmox Qemu
+VM, and thus getting the benefit of software containerization with the very
+strong isolation that VMs provide.