X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=blobdiff_plain;f=pct.adoc;h=ddc16e2f8148f044b4c3632570a20090dce486d8;hp=d01e6d77ce41b2a774bc0e709fc1a44d470fad42;hb=HEAD;hpb=324efba35388e790f71345ddbac0430b0c2a1793 diff --git a/pct.adoc b/pct.adoc index d01e6d7..529b72f 100644 --- a/pct.adoc +++ b/pct.adoc @@ -59,7 +59,7 @@ VM, but without the additional overhead. This means that Proxmox Containers can be categorized as ``System Containers'', rather than ``Application Containers''. NOTE: If you want to run application containers, for example, 'Docker' images, it -is recommended that you run them inside a Proxmox Qemu VM. This will give you +is recommended that you run them inside a Proxmox QEMU VM. This will give you all the advantages of application containerization, while also providing the benefits that VMs offer, such as strong isolation from the host and the ability to live-migrate, which otherwise isn't possible with containers. @@ -72,7 +72,7 @@ Technology Overview * Integrated into {pve} graphical web user interface (GUI) -* Easy to use command line tool `pct` +* Easy to use command-line tool `pct` * Access via {pve} REST API @@ -84,13 +84,172 @@ Technology Overview * Modern Linux kernels -* Image based deployment (templates) +* Image based deployment (xref:pct_supported_distributions[templates]) * Uses {pve} xref:chapter_storage[storage library] * Container setup from host (network, DNS, storage, etc.) +[[pct_supported_distributions]] +Supported Distributions +----------------------- + +List of officially supported distributions can be found below. + +Templates for the following distributions are available through our +repositories. You can use xref:pct_container_images[pveam] tool or the +Graphical User Interface to download them. + +Alpine Linux +~~~~~~~~~~~~ + +[quote, 'https://alpinelinux.org'] +____ +Alpine Linux is a security-oriented, lightweight Linux distribution based on +musl libc and busybox. +____ + +For currently supported releases see: + +https://alpinelinux.org/releases/ + +Arch Linux +~~~~~~~~~~ + +[quote, 'https://archlinux.org/'] +____ +Arch Linux, a lightweight and flexible Linux® distribution that tries to Keep It Simple. +____ + +Arch Linux is using a rolling-release model, see its wiki for more details: + +https://wiki.archlinux.org/title/Arch_Linux + +CentOS, Almalinux, Rocky Linux +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +CentOS / CentOS Stream +^^^^^^^^^^^^^^^^^^^^^^ + +[quote, 'https://centos.org'] +____ +The CentOS Linux distribution is a stable, predictable, manageable and +reproducible platform derived from the sources of Red Hat Enterprise Linux +(RHEL) +____ + +For currently supported releases see: + +https://en.wikipedia.org/wiki/CentOS#End-of-support_schedule + +Almalinux +^^^^^^^^^ + +[quote, 'https://almalinux.org'] +____ +An Open Source, community owned and governed, forever-free enterprise Linux +distribution, focused on long-term stability, providing a robust +production-grade platform. AlmaLinux OS is 1:1 binary compatible with RHEL® and +pre-Stream CentOS. +____ + + +For currently supported releases see: + +https://en.wikipedia.org/wiki/AlmaLinux#Releases + +Rocky Linux +^^^^^^^^^^^ + +[quote, 'https://rockylinux.org'] +____ +Rocky Linux is a community enterprise operating system designed to be 100% +bug-for-bug compatible with America's top enterprise Linux distribution now +that its downstream partner has shifted direction. +____ + +For currently supported releases see: + +https://en.wikipedia.org/wiki/Rocky_Linux#Releases + +Debian +~~~~~~ + +[quote, 'https://www.debian.org/intro/index#software'] +____ +Debian is a free operating system, developed and maintained by the Debian +project. A free Linux distribution with thousands of applications to meet our +users' needs. +____ + +For currently supported releases see: + +https://www.debian.org/releases/stable/releasenotes + +Devuan +~~~~~~ + +[quote, 'https://www.devuan.org'] +____ +Devuan GNU+Linux is a fork of Debian without systemd that allows users to +reclaim control over their system by avoiding unnecessary entanglements and +ensuring Init Freedom. +____ + +For currently supported releases see: + +https://www.devuan.org/os/releases + +Fedora +~~~~~~ + +[quote, 'https://getfedora.org'] +____ +Fedora creates an innovative, free, and open source platform for hardware, +clouds, and containers that enables software developers and community members +to build tailored solutions for their users. +____ + +For currently supported releases see: + +https://fedoraproject.org/wiki/Releases + +Gentoo +~~~~~~ + +[quote, 'https://www.gentoo.org'] +____ +a highly flexible, source-based Linux distribution. +____ + +Gentoo is using a rolling-release model. + +OpenSUSE +~~~~~~~~ + +[quote, 'https://www.opensuse.org'] +____ +The makers' choice for sysadmins, developers and desktop users. +____ + +For currently supported releases see: + +https://get.opensuse.org/leap/ + +Ubuntu +~~~~~~ + +[quote, 'https://ubuntu.com/'] +____ +Ubuntu is the modern, open source operating system on Linux for the enterprise +server, desktop, cloud, and IoT. +____ + +For currently supported releases see: + +https://wiki.ubuntu.com/Releases + [[pct_container_images]] Container Images ---------------- @@ -98,11 +257,11 @@ Container Images Container images, sometimes also referred to as ``templates'' or ``appliances'', are `tar` archives which contain everything to run a container. -{pve} itself provides a variety of basic templates for the most common Linux -distributions. They can be downloaded using the GUI or the `pveam` (short for -{pve} Appliance Manager) command line utility. -Additionally, https://www.turnkeylinux.org/[TurnKey Linux] container templates -are also available to download. +{pve} itself provides a variety of basic templates for the +xref:pct_supported_distributions[most common Linux distributions]. They can be +downloaded using the GUI or the `pveam` (short for {pve} Appliance Manager) +command-line utility. Additionally, https://www.turnkeylinux.org/[TurnKey +Linux] container templates are also available to download. The list of available templates is updated daily through the 'pve-daily-update' timer. You can also trigger an update manually by executing: @@ -268,8 +427,9 @@ cpulimit: 0.5 `cpuunits`: :: This is a relative weight passed to the kernel scheduler. The larger the number is, the more CPU time this container gets. Number is relative -to the weights of all the other running containers. The default is 1024. You -can use this setting to prioritize some containers. +to the weights of all the other running containers. The default is `100` (or +`1024` if the host uses legacy cgroup v1). You can use this setting to +prioritize some containers. [[pct_memory]] @@ -362,10 +522,21 @@ hierarchy under `/mnt/bindmounts`. Never bind mount system directories like NOTE: The bind mount source path must not contain any symlinks. For example, to make the directory `/mnt/bindmounts/shared` accessible in the -container with ID `100` under the path `/shared`, use a configuration line like -`mp0: /mnt/bindmounts/shared,mp=/shared` in `/etc/pve/lxc/100.conf`. -Alternatively, use `pct set 100 -mp0 /mnt/bindmounts/shared,mp=/shared` to -achieve the same result. +container with ID `100` under the path `/shared`, add a configuration line such as: + +---- +mp0: /mnt/bindmounts/shared,mp=/shared +---- + +into `/etc/pve/lxc/100.conf`. + +Or alternatively use the `pct` tool: + +---- +pct set 100 -mp0 /mnt/bindmounts/shared,mp=/shared +---- + +to achieve the same result. Device Mount Points @@ -509,7 +680,7 @@ https://www.kernel.org/doc/html/v5.11/admin-guide/cgroup-v2.html['cgroupv2']. Since {pve} 7.0, the default is a pure 'cgroupv2' environment. Previously a "hybrid" setup was used, where resource control was mainly done in 'cgroupv1' with an additional 'cgroupv2' controller which could take over some subsystems -via the 'cgroup_no_v1' kernel command line parameter. (See the +via the 'cgroup_no_v1' kernel command-line parameter. (See the https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html[kernel parameter documentation] for details.) @@ -551,9 +722,8 @@ environment, you can either decades old OS versions just fine there. * Switch back to the legacy 'cgroup' controller. Note that while it can be a - valid solution, it's not a permanent one. There's a high likelihood that a - future {pve} major release, for example 8.0, cannot support the legacy - controller anymore. + valid solution, it's not a permanent one. Starting from {pve} 9.0, the legacy + controller will not be supported anymore. ==== [[pct_cgroup_change_version]] @@ -563,7 +733,7 @@ Changing CGroup Version TIP: If file system quotas are not required and all containers support 'cgroupv2', it is recommended to stick to the new default. -To switch back to the previous version the following kernel command line +To switch back to the previous version the following kernel command-line parameter can be used: ---- @@ -829,7 +999,7 @@ time, for example: Managing Containers with `pct` ------------------------------ -The ``Proxmox Container Toolkit'' (`pct`) is the command line tool to manage +The ``Proxmox Container Toolkit'' (`pct`) is the command-line tool to manage {pve} containers. It enables you to create or destroy containers, as well as control the container execution (start, stop, reboot, migrate, etc.). It can be used to set parameters in the config file of a container, for example the @@ -891,6 +1061,19 @@ backup jobs and HA resource configurations. # pct destroy 100 --purge ---- +Move a mount point volume to a different storage. + +---- +# pct move-volume 100 mp0 other-storage +---- + +Reassign a volume to a different CT. This will remove the volume `mp0` from +the source CT and attaches it as `mp1` to the target CT. In the background +the volume is being renamed so that the name matches the new owner. + +---- +# pct move-volume 100 mp0 --target-vmid 200 --target-volume mp1 +---- Obtaining Debugging Logs