Frage Erstellen Sie einen LXC-Container aus einer lokalen Vorlage (tar.gz)


Ich versuche, einen LXC-Container aus einem lokalen tar.gz eines rootfs eines anderen Containers zu erstellen, aber ich konnte keine Option in lxc-create finden, um dies zu tun. Ich kann einen neuen Behälter erstellen, seine rootfs entfernen und das mit meinen unquartierten rootfs ersetzen, aber dieses ist zu ungeschickt. Gibt es einen besseren Weg, dies zu tun?


5
2018-05-04 04:26


Ursprung


Antworten:


Nach ein bisschen Suchen habe ich gefunden Dieses Skript Das nimmt eine tar.gz und erstellt einen LXC-Container.

$ lxc-create -n test-container -t ./salt_tarball -- --network_link lxcbr0 --imgtar /root/template.tar.gz

beachte das hier salt_tarball ist der Name des Skripts.


2
2018-05-04 16:25



Verwenden dieses Skript @syed oben erwähnt benötigt mehr Arbeit (Ubuntu 16.04, LXC 2.0, noch nicht lxd):

Zuerst müssen Sie das Skript in das Vorlagenverzeichnis kopieren und es ausführbar machen

$ cp salt_tarball /usr/share/lxc/templates/lxc-salt_tarball
$ chmod +x /usr/share/lxc/templates/lxc-salt_tarball

Achten Sie darauf, beim Kopieren lxc vor dem Namen hinzuzufügen.

Um den neuen Container mit dem Skript zu erstellen, tun Sie

$ lxc-create -n test-container -t salt_tarball -- --network_link lxcbr0 --imgtar /root/template.tar.gz

d.h., rufe salt_tarball ohne ./ und ohne die oben hinzugefügte lxc auf. Die Option --network_link ist optional.

Achten Sie darauf zu verwenden --numeric-owner wenn Sie Ihre tar.gz aus einem vorhandenen Container erstellen.


1
2018-01-17 17:49