+[[chapter_pct]]
ifdef::manvolnum[]
-PVE({manvolnum})
-================
+pct(1)
+======
include::attributes.txt[]
+:pve-toplevel:
NAME
----
pct - Tool to manage Linux Containers (LXC) on Proxmox VE
-SYNOPSYS
+SYNOPSIS
--------
include::pct.1-synopsis.adoc[]
=========================
include::attributes.txt[]
endif::manvolnum[]
-
+ifdef::wiki[]
+:pve-toplevel:
+:title: Linux Container
+endif::wiki[]
Containers are a lightweight alternative to fully virtualized
VMs. Instead of emulating a complete Operating System (OS), containers
kernel security bug rather than an LXC issue. The LXC team thinks
unprivileged containers are safe by design.
-
+[[pct_configuration]]
Configuration
-------------
Container configuration files use a simple colon separated key/value
format. Each line has the following format:
- # this is a comment
- OPTION: value
+-----
+# this is a comment
+OPTION: value
+-----
Blank lines in those files are ignored, and lines starting with a `#`
character are treated as comments and are also ignored.
Those settings are directly passed to the LXC low-level tools.
+[[pct_snapshots]]
Snapshots
~~~~~~~~~
detected type.
+[[pct_options]]
Options
~~~~~~~
include::pct.conf.5-opts.adoc[]
+[[pct_container_images]]
Container Images
----------------
pct create 999 local:vztmpl/debian-8.0-standard_8.0-1_amd64.tar.gz
-Proxmox itself ships a set of basic templates for most common
+{pve} itself ships a set of basic templates for most common
operating systems, and you can download them using the `pveam` (short
for {pve} Appliance Manager) command line utility. You can also
download https://www.turnkeylinux.org/[TurnKey Linux] containers using
pveam remove local:vztmpl/debian-8.0-standard_8.0-1_amd64.tar.gz
+[[pct_container_storage]]
Container Storage
-----------------
group/others model.
+[[pct_container_network]]
Container Network
-----------------
pct set 100 -memory 512
+Obtaining Debugging Logs
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+In case `pct start` is unable to start a specific container, it might be
+helpful to collect debugging output by running `lxc-start` (replace `ID` with
+the container's ID):
+
+ lxc-start -n ID -F -l DEBUG -o /tmp/lxc-ID.log
+
+This command will attempt to start the container in foreground mode, to stop the container run `pct shutdown ID` or `pct stop ID` in a second terminal.
+
+The collected debug log is written to `/tmp/lxc-ID.log`.
+
+NOTE: If you have changed the container's configuration since the last start
+attempt with `pct start`, you need to run `pct start` at least once to also
+update the configuration used by `lxc-start`.
+
+
Files
------
Technology Overview
-------------------
-- Integrated into {pve} graphical user interface (GUI)
-
-- LXC (https://linuxcontainers.org/)
+* Integrated into {pve} graphical user interface (GUI)
-- cgmanager for cgroup management
+* LXC (https://linuxcontainers.org/)
-- lxcfs to provive containerized /proc file system
+* lxcfs to provide containerized /proc file system
-- apparmor
+* AppArmor
-- CRIU: for live migration (planned)
+* CRIU: for live migration (planned)
-- We use latest available kernels (4.4.X)
+* We use latest available kernels (4.4.X)
-- Image based deployment (templates)
+* Image based deployment (templates)
-- Container setup from host (Network, DNS, Storage, ...)
+* Container setup from host (network, DNS, storage, ...)
ifdef::manvolnum[]