]> git.proxmox.com Git - pve-docs.git/blobdiff - pct.adoc
pbs: fix password and encryption key file location
[pve-docs.git] / pct.adoc
index aaa100b6c6de8adb40c057cc548b02bf6000b858..1f0bcef4c51b6bb8283a4110fce0042dfc785eee 100644 (file)
--- a/pct.adoc
+++ b/pct.adoc
@@ -36,28 +36,33 @@ the host system directly.
 The runtime costs for containers is low, usually negligible. However, there are
 some drawbacks that need be considered:
 
-* Only Linux distributions can be run in containers.It is not possible to run
-  other Operating Systems like, for example, FreeBSD or Microsoft Windows
+* Only Linux distributions can be run in Proxmox Containers. It is not possible to run
+  other operating systems like, for example, FreeBSD or Microsoft Windows
   inside a container.
 
 * For security reasons, access to host resources needs to be restricted.
-  Containers run in their own separate namespaces. Additionally some syscalls
-  are not allowed within containers.
+  Therefore, containers run in their own separate namespaces. Additionally some
+  syscalls (user space requests to the Linux kernel) are not allowed within containers.
 
-{pve} uses https://linuxcontainers.org/[Linux Containers (LXC)] as underlying
+{pve} uses https://linuxcontainers.org/lxc/introduction/[Linux Containers (LXC)] as its underlying
 container technology. The ``Proxmox Container Toolkit'' (`pct`) simplifies the
-usage and management of LXC containers.
+usage and management of LXC, by providing an interface that abstracts
+complex tasks.
 
 Containers are tightly integrated with {pve}. This means that they are aware of
 the cluster setup, and they can use the same network and storage resources as
 virtual machines. You can also use the {pve} firewall, or manage containers
 using the HA framework.
 
-Our primary goal is to offer an environment as one would get from a VM, but
-without the additional overhead. We call this ``System Containers''.
+Our primary goal is to offer an environment that provides the benefits of using a
+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 micro-containers, for example, 'Docker' or 'rkt', it
-is best to run them inside a VM.
+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
+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. 
 
 
 Technology Overview
@@ -92,11 +97,6 @@ Container Images
 
 Container images, sometimes also referred to as ``templates'' or
 ``appliances'', are `tar` archives which contain everything to run a container.
-`pct` uses them to create a new container, for example:
-
-----
-# pct create 999 local:vztmpl/debian-10.0-standard_10.0-1_amd64.tar.gz
-----
 
 {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
@@ -104,8 +104,8 @@ distributions. They can be downloaded using the GUI or the `pveam` (short for
 Additionally, https://www.turnkeylinux.org/[TurnKey Linux] container templates
 are also available to download.
 
-The list of available templates is updated daily via cron. To trigger it
-manually:
+The list of available templates is updated daily through the 'pve-daily-update'
+timer. You can also trigger an update manually by executing:
 
 ----
 # pveam update
@@ -144,9 +144,9 @@ system          ubuntu-19.10-standard_19.10-1_amd64.tar.gz
 ----
 
 Before you can use such a template, you need to download them into one of your
-storages. You can simply use storage `local` for that purpose. For clustered
-installations, it is preferred to use a shared storage so that all nodes can
-access those images.
+storages. If you're unsure to which one, you can simply use the `local` named
+storage for that purpose. For clustered installations, it is preferred to use a
+shared storage so that all nodes can access those images.
 
 ----
 # pveam download local debian-10.0-standard_10.0-1_amd64.tar.gz
@@ -160,6 +160,15 @@ downloaded images on storage `local` with:
 local:vztmpl/debian-10.0-standard_10.0-1_amd64.tar.gz  219.95MB
 ----
 
+TIP: You can also use the {pve} web interface GUI to download, list and delete
+container templates.
+
+`pct` uses them to create a new container, for example:
+
+----
+# pct create 999 local:vztmpl/debian-10.0-standard_10.0-1_amd64.tar.gz
+----
+
 The above command shows you the full {pve} volume identifiers. They include the
 storage name, and most other {pve} commands can use them. For example you can
 delete that image later with:
@@ -442,7 +451,7 @@ Security Considerations
 
 Containers use the kernel of the host system. This exposes an attack surface
 for malicious users. In general, full virtual machines provide better
-isolation. This should be considered if containers are provided to unkown or
+isolation. This should be considered if containers are provided to unknown or
 untrusted people.
 
 To reduce the attack surface, LXC uses many security features like AppArmor,
@@ -469,7 +478,7 @@ To disable AppArmor for a container, add the following line to the container
 configuration file located at `/etc/pve/lxc/CTID.conf`:
 
 ----
-lxc.apparmor_profile = unconfined
+lxc.apparmor.profile = unconfined
 ----
 
 WARNING: Please note that this is not recommended for production use.
@@ -817,7 +826,7 @@ This works as long as your Container is offline. If it has local volumes or
 mount points defined, the migration will copy the content over the network to
 the target host if the same storage is defined there.
 
-Running containers cannot live-migrated due to techincal limitations. You can
+Running containers cannot live-migrated due to technical limitations. You can
 do a restart migration, which shuts down, moves and then starts a container
 again on the target node. As containers are very lightweight, this results
 normally only in a downtime of some hundreds of milliseconds.