Ich wollte mal ausprobieren wie man sich relativ schnell und einfach mehrere Container von einem Template erstellen kann.
Das geht natürlich über die GUI, im Terminal aber doch noch um einiges schneller.
Für eine Testumgebung brauche ich z.B. 10 Webserver als Container von einem bestimmten Template.
Das Ergebnis ist dieses kleine script. Damit lassen sich in einem Rutsch beliebig viele neue Container erstellen.
#!/bin/bash clear echo "###" echo "### create multiple LXC Containers" echo "###" if [ $# -lt 3 ]; then echo "usage: $0 <from id> <to id> <hostname>" echo "example: $0 100 110 websrv" exit else # which template to use from local storage tpl="debian-10.3-lamp-server.tar.gz" # create container (512MB RAM, 5GB Storage, DHCP) for i in `seq $1 $2`; do clear echo "###" echo "### create CT Container ID $i from $2" echo "###" pct create $i \ local:vztmpl/$tpl \ -password YOUR-PASSWORD \ -arch amd64 \ -cmode tty \ -console 1 \ -cores 1 \ -memory 512 \ -net0 bridge=vmbr0,name=eth0,ip=dhcp \ -rootfs local-lvm:5 \ -ostype debian \ -hostname $3$i \ -unprivileged 0 \ -description "`date "+%d.%m.%Y %T"` - $tpl" # start each newly created container pct start $i done fi
Mit diesem Einzeiler können die Container mit der ID 110 bis 119, ohne Rückfrage, auch wieder in einem Rutsch gelöscht werden.
$ for i in `seq 110 119`; do pct stop $i; pct destroy $i; done
Einfach und schnell ohne viel klickerei.