Configuration
-------------
-The '/etc/pve/lxc/<CTID>.conf' files stores container configuration,
-where '<CTID>' is the numeric ID of the given container. Note that
-CTIDs < 100 are reserved for internal purposes, and CTIDs need to be
-unique cluster wide. Files are stored inside '/etc/pve/', so they get
-automatically replicated to all other cluster nodes.
+The '/etc/pve/lxc/<CTID>.conf' file stores container configuration,
+where '<CTID>' is the numeric ID of the given container. Like all
+other files stored inside '/etc/pve/', they get automatically
+replicated to all other cluster nodes.
+
+NOTE: CTIDs < 100 are reserved for internal purposes, and CTIDs need to be
+unique cluster wide.
.Example Container Configuration
----
local storage inside containers with zero overhead. Such bind mounts
also provide an easy way to share data between different containers.
-
-Managing Containers with 'pct'
-------------------------------
-
-'pct' is the tool to manage Linux Containers on {pve}. You can create
-and destroy containers, and control execution (start, stop, migrate,
-...). You can use pct to set parameters in the associated config file,
-like network configuration or memory limits.
-
-CLI Usage Examples
-------------------
-
-Create a container based on a Debian template (provided you have
-already downloaded the template via the webgui)
-
- pct create 100 /var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz
-
-Start container 100
-
- pct start 100
-
-Start a login session via getty
-
- pct console 100
-
-Enter the LXC namespace and run a shell as root user
-
- pct enter 100
-
-Display the configuration
-
- pct config 100
-
-Add a network interface called eth0, bridged to the host bridge vmbr0,
-set the address and gateway, while it's running
-
- pct set 100 -net0 name=eth0,bridge=vmbr0,ip=192.168.15.147/24,gw=192.168.15.1
-
-Reduce the memory of the container to 512MB
-
- pct set -memory 512 100
-
-Files
-------
-
-'/etc/pve/lxc/<CTID>.conf'::
-
-Configuration file for the container '<CTID>'.
-
-
Container Mountpoints
---------------------
Similarly device mounts are not managed by the storage, but for these the
`quota` and `acl` options will be honored.
+WARNING: Because of existing issues in the Linux kernel's freezer
+subsystem the usage of FUSE mounts inside a container is strongly
+advised against, as containers need to be frozen for suspend or
+snapshot mode backups. If FUSE mounts cannot be replaced by other
+mounting mechanisms or storage technologies, it is possible to
+establish the FUSE mount on the Proxmox host and use a bind
+mountpoint to make it accessible inside the container.
Using quotas inside containers
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quotas allow to set limits inside a container for the amount of disk space
that each user can use.
quotacheck -cmug /
quotaon /
-And edit the quotas via the `edquota` command. (Note that you need to do this
-for every mountpoint by passing the mountpoint's path instead of just `/`.) Best
-see the documentation specific to the distributiont running inside the
-container.
+and edit the quotas via the `edquota` command. Refer to the documentation
+of the distribution running inside the container for details.
+
+NOTE: You need to run the above commands for every mountpoint by passing
+the mountpoint's path instead of just `/`.
Using ACLs inside containers
-----------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The standard Posix Access Control Lists are also available inside containers.
ACLs allow you to set more detailed file ownership than the traditional user/
group/others model.
+
+Container Network
+-----------------
+
+You can configure up to 10 network interfaces for a single
+container. The corresponding options are called 'net0' to 'net9', and
+they can contain the following setting:
+
+include::pct-network-opts.adoc[]
+
+
+Managing Containers with 'pct'
+------------------------------
+
+'pct' is the tool to manage Linux Containers on {pve}. You can create
+and destroy containers, and control execution (start, stop, migrate,
+...). You can use pct to set parameters in the associated config file,
+like network configuration or memory limits.
+
+CLI Usage Examples
+~~~~~~~~~~~~~~~~~~
+
+Create a container based on a Debian template (provided you have
+already downloaded the template via the webgui)
+
+ pct create 100 /var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz
+
+Start container 100
+
+ pct start 100
+
+Start a login session via getty
+
+ pct console 100
+
+Enter the LXC namespace and run a shell as root user
+
+ pct enter 100
+
+Display the configuration
+
+ pct config 100
+
+Add a network interface called eth0, bridged to the host bridge vmbr0,
+set the address and gateway, while it's running
+
+ pct set 100 -net0 name=eth0,bridge=vmbr0,ip=192.168.15.147/24,gw=192.168.15.1
+
+Reduce the memory of the container to 512MB
+
+ pct set -memory 512 100
+
+Files
+------
+
+'/etc/pve/lxc/<CTID>.conf'::
+
+Configuration file for the container '<CTID>'.
+
+
Container Advantages
--------------------
- CRIU: for live migration (planned)
-- We use latest available kernels (4.2.X)
+- We use latest available kernels (4.4.X)
- Image based deployment (templates)