The “Proxmox Container Toolkit” (pct
) is the command line tool to manage
Proxmox VE 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
network configuration or memory limits.
Create a container based on a Debian template (provided you have already downloaded the template via the web interface)
# pct create 100 /var/lib/vz/template/cache/debian-10.0-standard_10.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 100 -memory 512
Destroying a container always removes it from Access Control Lists and it always removes the firewall configuration of the container. You have to activate --purge, if you want to additionally remove the container from replication jobs, 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
In case pct start
is unable to start a specific container, it might be
helpful to collect debugging output by passing the --debug
flag (replace CTID
with
the container’s CTID):
# pct start CTID --debug
Alternatively, you can use the following lxc-start
command, which will save
the debug log to the file specified by the -o
output option:
# lxc-start -n CTID -F -l DEBUG -o /tmp/lxc-CTID.log
This command will attempt to start the container in foreground mode, to stop
the container run pct shutdown CTID
or pct stop CTID
in a second terminal.
The collected debug log is written to /tmp/lxc-CTID.log
.
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
.