Beim Starten eines OCI Images (z.B.: Docker) in ProxMox lädt weder die Konsole noch findet man Logs, wie auch der ProxMox Mitarbeiter „sterzy“ in einem Forum Beitrag beschreibt.
Daher haben wir ein kleines Script, das als Entrypoint in ProxMox konfiguriert wird, gebaut, welches Error und Outputs loggt.
Entrypoint script anlegen
Wo das LXC Volumen liegt, ist hierbei von der Installation abhängig. In meinem Fall benutzen wir ein ZFS, sodass LXC Volumen hier zu finden sind: /<zfspool>/subvol-<vmid>-disk-<n>
sudo vim <lxc>/tentryCode-Sprache: HTML, XML (xml)
#!/bin/sh
files="/var/log/elog-"
now="$(date -u '+%y-%m-%d_%H-%M-%S')"
# pipes
out="${TMPDIR:-/tmp}/out.$$"
err="${TMPDIR:-/tmp}/err.$$"
mkfifo "$out" "$err"
# save pipes and continue output them
tee -a "${files}${now}-stdout" < "$out" &
tee -a "${files}${now}-stderr" < "$err" >&2 &
# on exit: rm pipes
sh -c "tail --pid=$$ /dev/null; rm '$out' '$err'" &
# redirect output to pipes
exec >"$out"
exec 2>"$err"
# start
exec ENTRYPOINT
Code-Sprache: Bash (bash)
ENTRYPOINT = Wie wir den Entrypoint finden, wird unten in „Entrypoint in ProxMox konfigurieren“ erklärt.
Anschließend muss man für diese Datei das Ausführen erlauben:
sudo chmod +x <lxc>/tentryCode-Sprache: HTML, XML (xml)
Entrypoint in ProxMox konfigurieren
Der Entrypoint kann in der /etc/pve/lxc/<mvid>.conf oder in der WebGui angepasst werden, wir nutzen hierzu die WebGui:

Dann wird der LXC gestartet/neugestartet.
Logs einsehen
Die Logs werden auf dem LXC in /var/log (also unter unserem ProxMox: less /<zfspool>/subvol-<vmid>-disk-<n>/var/log/) gespeichert.
Dort findet man zwei Logs, einen für mögliche Errors und einen für den Output.
Die Namen für diese setzen sich wie folgt zusammen: /<zfspool>/subvol-<vmid>-disk-<n>/var/log/elog-<Datum>-std[err/out]
Nach dem Debug
Nachdem wir mit dem Debuggen fertig sind, wollen wir natürlich keine Logs mehr erstellen. Daher können wir nun alles von oben wieder rückgängig machen und die Logs löschen, heißt:
- Ursprünglichen Entry-Point wiederherstellen
- „tentry“ Dateilöschen
- Logs löschen
- LXC neustarten