NAME

pct - Tool to manage Linux Containers (LXC) on Proxmox VE

SYNOPSIS

 pct <COMMAND> [ARGS] [OPTIONS]

 pct create <vmid> <ostemplate> [OPTIONS]
 
   Create or restore a container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <ostemplate> string
 
             The OS template or backup file.
 
   -arch      (amd64 | i386)   (default=amd64)
 
             OS architecture type.
 
   -cmode     (console | shell | tty)   (default=tty)
 
             Console mode. By default, the console command tries to open a
             connection to one of the available tty devices. By setting
             cmode to 'console' it tries to attach to /dev/console instead.
             If you set cmode to 'shell', it simply invokes a shell inside
             the container (no login).
 
   -console   boolean   (default=1)
 
             Attach a console device (/dev/console) to the container.
 
   -cpulimit  number (0 - 128)  (default=0)
 
             Limit of CPU usage. Note if the computer has 2 CPUs, it has
             total of '2' CPU time. Value '0' indicates no CPU limit.
 
   -cpuunits  integer (0 - 500000)   (default=1024)
 
             CPU weight for a VM. Argument is used in the kernel fair
             scheduler. The larger the number is, the more CPU time this VM
             gets. Number is relative to weights of all the other running
             VMs.
             
             NOTE: You can disable fair-scheduler configuration by setting
             this to 0.
 
   -description string
 
             Container description. Only used on the configuration web
             interface.
 
   -force     boolean
 
             Allow to overwrite existing container.
 
   -hostname  string
 
             Set a host name for the container.
 
   -lock      (backup | migrate | rollback | snapshot)
 
             Lock/unlock the VM.
 
   -memory    integer (16 - N)  (default=512)
 
             Amount of RAM for the VM in MB.
 
   -mp[n]     [volume=]<volume> [,backup=<[1|0]>] [,mp=<Path>]
             [,size=<DiskSize>]
 
             Use volume as container mount point (experimental feature).
 
   -nameserver string
 
             Sets DNS server IP address for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -net[n]    bridge=<vmbr<Number>>, name=<String> [,firewall=<[1|0]>]
             [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<MAC>]
             [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]
             [,mtu=<Number>] [,tag=<VlanNo>]
 
             Specifies network interfaces for the container.
 
   -onboot    boolean   (default=0)
 
             Specifies whether a VM will be started during system bootup.
 
   -ostype    (archlinux | centos | debian | ubuntu)
 
             OS type. Corresponds to lxc setup scripts in
             /usr/share/lxc/config/<ostype>.common.conf.
 
   -password  string
 
             Sets root password inside container.
 
   -pool      string
 
             Add the VM to the specified pool.
 
   -protection boolean  (default=0)
 
             Sets the protection flag of the container. This will prevent
             the remove operation. This will prevent the CT or CT's disk
             remove/update operation.
 
   -restore   boolean
 
             Mark this as restore task.
 
   -rootfs    [volume=]<volume> [,backup=<[1|0]>] [,size=<DiskSize>]
 
             Use volume as container root.
 
   -searchdomain string
 
             Sets DNS search domains for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -startup   [[order=]\d+] [,up=\d+] [,down=\d+] 
 
             Startup and shutdown behavior. Order is a non-negative number
             defining the general startup order. Shutdown in done with
             reverse ordering. Additionally you can set the 'up' or 'down'
             delay in seconds, which specifies a delay to wait before the
             next VM is started or stopped.
 
   -storage   string   (default=local)
 
             Default Storage.
 
   -swap      integer (0 - N)   (default=512)
 
             Amount of SWAP for the VM in MB.
 
   -template  boolean   (default=0)
 
             Enable/disable Template.
 
   -tty      integer (0 - 6)   (default=2)
 
             Specify the number of tty available to the container
 
   -unused[n] string
 
             Reference to unused volumes.
 
 

 pct destroy <vmid>
 
   Destroy the container (also delete all uses files).
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct list 
 
   LXC container index (per node).
 
 

 pct migrate <vmid> <target> [OPTIONS]
 
   Migrate the container to another node. Creates a new migration task.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <target>   string
 
             Target node.
 
   -online    boolean
 
             Use online/live migration.
 
 

 pct restore <vmid> <ostemplate> [OPTIONS]
 
   Create or restore a container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <ostemplate> string
 
             The OS template or backup file.
 
   -arch      (amd64 | i386)   (default=amd64)
 
             OS architecture type.
 
   -cmode     (console | shell | tty)   (default=tty)
 
             Console mode. By default, the console command tries to open a
             connection to one of the available tty devices. By setting
             cmode to 'console' it tries to attach to /dev/console instead.
             If you set cmode to 'shell', it simply invokes a shell inside
             the container (no login).
 
   -console   boolean   (default=1)
 
             Attach a console device (/dev/console) to the container.
 
   -cpulimit  number (0 - 128)  (default=0)
 
             Limit of CPU usage. Note if the computer has 2 CPUs, it has
             total of '2' CPU time. Value '0' indicates no CPU limit.
 
   -cpuunits  integer (0 - 500000)   (default=1024)
 
             CPU weight for a VM. Argument is used in the kernel fair
             scheduler. The larger the number is, the more CPU time this VM
             gets. Number is relative to weights of all the other running
             VMs.
             
             NOTE: You can disable fair-scheduler configuration by setting
             this to 0.
 
   -description string
 
             Container description. Only used on the configuration web
             interface.
 
   -force     boolean
 
             Allow to overwrite existing container.
 
   -hostname  string
 
             Set a host name for the container.
 
   -lock      (backup | migrate | rollback | snapshot)
 
             Lock/unlock the VM.
 
   -memory    integer (16 - N)  (default=512)
 
             Amount of RAM for the VM in MB.
 
   -mp[n]     [volume=]<volume> [,backup=<[1|0]>] [,mp=<Path>]
             [,size=<DiskSize>]
 
             Use volume as container mount point (experimental feature).
 
   -nameserver string
 
             Sets DNS server IP address for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -net[n]    bridge=<vmbr<Number>>, name=<String> [,firewall=<[1|0]>]
             [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<MAC>]
             [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]
             [,mtu=<Number>] [,tag=<VlanNo>]
 
             Specifies network interfaces for the container.
 
   -onboot    boolean   (default=0)
 
             Specifies whether a VM will be started during system bootup.
 
   -ostype    (archlinux | centos | debian | ubuntu)
 
             OS type. Corresponds to lxc setup scripts in
             /usr/share/lxc/config/<ostype>.common.conf.
 
   -password  string
 
             Sets root password inside container.
 
   -pool      string
 
             Add the VM to the specified pool.
 
   -protection boolean  (default=0)
 
             Sets the protection flag of the container. This will prevent
             the remove operation. This will prevent the CT or CT's disk
             remove/update operation.
 
   -rootfs    [volume=]<volume> [,backup=<[1|0]>] [,size=<DiskSize>]
 
             Use volume as container root.
 
   -searchdomain string
 
             Sets DNS search domains for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -startup   [[order=]\d+] [,up=\d+] [,down=\d+] 
 
             Startup and shutdown behavior. Order is a non-negative number
             defining the general startup order. Shutdown in done with
             reverse ordering. Additionally you can set the 'up' or 'down'
             delay in seconds, which specifies a delay to wait before the
             next VM is started or stopped.
 
   -storage   string   (default=local)
 
             Default Storage.
 
   -swap      integer (0 - N)   (default=512)
 
             Amount of SWAP for the VM in MB.
 
   -template  boolean   (default=0)
 
             Enable/disable Template.
 
   -tty      integer (0 - 6)   (default=2)
 
             Specify the number of tty available to the container
 
   -unused[n] string
 
             Reference to unused volumes.
 
 

 pct template <vmid>
 
   Create a Template.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 


 pct config <vmid>
 
   Get container configuration.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct resize <vmid> <disk> <size> [OPTIONS]
 
   Resize a container mountpoint.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <disk>     (mp0 | mp1 | mp2 | mp3 | mp4 | mp5 | mp6 | mp7 | mp8 | mp9 |
             rootfs)
 
             The disk you want to resize.
 
   <size>     \+?\d+(\.\d+)?[KMGT]?
 
             The new size. With the '+' sign the value is added to the
             actual size of the volume and without it, the value is taken
             as an absolute one. Shrinking disk size is not supported.
 
   -arch      (amd64 | i386)   (default=amd64)
 
             OS architecture type.
 
   -cmode     (console | shell | tty)   (default=tty)
 
             Console mode. By default, the console command tries to open a
             connection to one of the available tty devices. By setting
             cmode to 'console' it tries to attach to /dev/console instead.
             If you set cmode to 'shell', it simply invokes a shell inside
             the container (no login).
 
   -console   boolean   (default=1)
 
             Attach a console device (/dev/console) to the container.
 
   -cpulimit  number (0 - 128)  (default=0)
 
             Limit of CPU usage. Note if the computer has 2 CPUs, it has
             total of '2' CPU time. Value '0' indicates no CPU limit.
 
   -cpuunits  integer (0 - 500000)   (default=1024)
 
             CPU weight for a VM. Argument is used in the kernel fair
             scheduler. The larger the number is, the more CPU time this VM
             gets. Number is relative to weights of all the other running
             VMs.
             
             NOTE: You can disable fair-scheduler configuration by setting
             this to 0.
 
   -description string
 
             Container description. Only used on the configuration web
             interface.
 
   -digest    string
 
             Prevent changes if current configuration file has different
             SHA1 digest. This can be used to prevent concurrent
             modifications.
 
   -hostname  string
 
             Set a host name for the container.
 
   -lock      (backup | migrate | rollback | snapshot)
 
             Lock/unlock the VM.
 
   -memory    integer (16 - N)  (default=512)
 
             Amount of RAM for the VM in MB.
 
   -mp[n]     [volume=]<volume> [,backup=<[1|0]>] [,mp=<Path>]
             [,size=<DiskSize>]
 
             Use volume as container mount point (experimental feature).
 
   -nameserver string
 
             Sets DNS server IP address for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -net[n]    bridge=<vmbr<Number>>, name=<String> [,firewall=<[1|0]>]
             [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<MAC>]
             [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]
             [,mtu=<Number>] [,tag=<VlanNo>]
 
             Specifies network interfaces for the container.
 
   -onboot    boolean   (default=0)
 
             Specifies whether a VM will be started during system bootup.
 
   -ostype    (archlinux | centos | debian | ubuntu)
 
             OS type. Corresponds to lxc setup scripts in
             /usr/share/lxc/config/<ostype>.common.conf.
 
   -protection boolean  (default=0)
 
             Sets the protection flag of the container. This will prevent
             the remove operation. This will prevent the CT or CT's disk
             remove/update operation.
 
   -rootfs    [volume=]<volume> [,backup=<[1|0]>] [,size=<DiskSize>]
 
             Use volume as container root.
 
   -searchdomain string
 
             Sets DNS search domains for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -startup   [[order=]\d+] [,up=\d+] [,down=\d+] 
 
             Startup and shutdown behavior. Order is a non-negative number
             defining the general startup order. Shutdown in done with
             reverse ordering. Additionally you can set the 'up' or 'down'
             delay in seconds, which specifies a delay to wait before the
             next VM is started or stopped.
 
   -swap      integer (0 - N)   (default=512)
 
             Amount of SWAP for the VM in MB.
 
   -template  boolean   (default=0)
 
             Enable/disable Template.
 
   -tty      integer (0 - 6)   (default=2)
 
             Specify the number of tty available to the container
 
   -unused[n] string
 
             Reference to unused volumes.
 
 

 pct set <vmid> [OPTIONS]
 
   Set container options.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   -arch      (amd64 | i386)   (default=amd64)
 
             OS architecture type.
 
   -cmode     (console | shell | tty)   (default=tty)
 
             Console mode. By default, the console command tries to open a
             connection to one of the available tty devices. By setting
             cmode to 'console' it tries to attach to /dev/console instead.
             If you set cmode to 'shell', it simply invokes a shell inside
             the container (no login).
 
   -console   boolean   (default=1)
 
             Attach a console device (/dev/console) to the container.
 
   -cpulimit  number (0 - 128)  (default=0)
 
             Limit of CPU usage. Note if the computer has 2 CPUs, it has
             total of '2' CPU time. Value '0' indicates no CPU limit.
 
   -cpuunits  integer (0 - 500000)   (default=1024)
 
             CPU weight for a VM. Argument is used in the kernel fair
             scheduler. The larger the number is, the more CPU time this VM
             gets. Number is relative to weights of all the other running
             VMs.
             
             NOTE: You can disable fair-scheduler configuration by setting
             this to 0.
 
   -delete    string
 
             A list of settings you want to delete.
 
   -description string
 
             Container description. Only used on the configuration web
             interface.
 
   -digest    string
 
             Prevent changes if current configuration file has different
             SHA1 digest. This can be used to prevent concurrent
             modifications.
 
   -hostname  string
 
             Set a host name for the container.
 
   -lock      (backup | migrate | rollback | snapshot)
 
             Lock/unlock the VM.
 
   -memory    integer (16 - N)  (default=512)
 
             Amount of RAM for the VM in MB.
 
   -mp[n]     [volume=]<volume> [,backup=<[1|0]>] [,mp=<Path>]
             [,size=<DiskSize>]
 
             Use volume as container mount point (experimental feature).
 
   -nameserver string
 
             Sets DNS server IP address for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -net[n]    bridge=<vmbr<Number>>, name=<String> [,firewall=<[1|0]>]
             [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<MAC>]
             [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]
             [,mtu=<Number>] [,tag=<VlanNo>]
 
             Specifies network interfaces for the container.
 
   -onboot    boolean   (default=0)
 
             Specifies whether a VM will be started during system bootup.
 
   -ostype    (archlinux | centos | debian | ubuntu)
 
             OS type. Corresponds to lxc setup scripts in
             /usr/share/lxc/config/<ostype>.common.conf.
 
   -protection boolean  (default=0)
 
             Sets the protection flag of the container. This will prevent
             the remove operation. This will prevent the CT or CT's disk
             remove/update operation.
 
   -rootfs    [volume=]<volume> [,backup=<[1|0]>] [,size=<DiskSize>]
 
             Use volume as container root.
 
   -searchdomain string
 
             Sets DNS search domains for a container. Create will
             automatically use the setting from the host if you neither set
             searchdomain or nameserver.
 
   -startup   [[order=]\d+] [,up=\d+] [,down=\d+] 
 
             Startup and shutdown behavior. Order is a non-negative number
             defining the general startup order. Shutdown in done with
             reverse ordering. Additionally you can set the 'up' or 'down'
             delay in seconds, which specifies a delay to wait before the
             next VM is started or stopped.
 
   -swap      integer (0 - N)   (default=512)
 
             Amount of SWAP for the VM in MB.
 
   -template  boolean   (default=0)
 
             Enable/disable Template.
 
   -tty      integer (0 - 6)   (default=2)
 
             Specify the number of tty available to the container
 
   -unused[n] string
 
             Reference to unused volumes.
 
 


 pct delsnapshot <vmid> <snapname> [OPTIONS]
 
   Delete a LXC snapshot.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <snapname> string
 
             The name of the snapshot.
 
   -force     boolean
 
             For removal from config file, even if removing disk snapshots
             fails.
 
 

 pct listsnapshot <vmid>
 
   List all snapshots.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct rollback <vmid> <snapname>
 
   Rollback LXC state to specified snapshot.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <snapname> string
 
             The name of the snapshot.
 
 

 pct snapshot <vmid> <snapname> [OPTIONS]
 
   Snapshot a container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <snapname> string
 
             The name of the snapshot.
 
   -description string
 
             A textual description or comment.
 
 


 pct resume <vmid>
 
   Resume the container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct shutdown <vmid> [OPTIONS]
 
   Shutdown the container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   -forceStop boolean   (default=0)
 
             Make sure the Container stops.
 
   -timeout   integer (0 - N)   (default=60)
 
             Wait maximal timeout seconds.
 
 

 pct start <vmid>
 
   Start the container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct stop <vmid>
 
   Stop the container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct suspend <vmid>
 
   Suspend the container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 


 pct console <vmid>
 
   Launch a console for the specified container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct enter <vmid>
 
   Launch a shell for the specified container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 

 pct exec <vmid> [<extra-args>]
 
   Launch a command inside the specified container.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
   <extra-args> array
 
             Extra arguments as array
 
 

 pct unlock <vmid>
 
   Unlock the VM.
 
   <vmid>     integer (1 - N)
 
             The (unique) ID of the VM.
 
 


 pct help [<cmd>] [OPTIONS]
 
   Get help about specified command.
 
   <cmd>      string
 
             Command name
 
   -verbose   boolean
 
             Verbose output format.
 
 

DESCRIPTION

pct is a tool to manages Linux Containers (LXC). You can create and destroy containers, and control execution (start/stop/suspend/resume). Besides that, you can use pct to set parameters in the associated config file, like network configuration or memory.

EXAMPLES

Create a container based on a Debian template (provided you downloaded the template via the webgui before)

pct create 100 /var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz

Start a container

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/<vmid>.conf

Configuration file for the container <vmid>

SEE ALSO

qm(1), pvesh(1)

COPYRIGHT AND DISCLAIMER

Copyright (C) 2007-2015 Proxmox Server Solutions GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.