o argumento fornecido para -t
é um arquivo em /usr/share/lxc/templates
. Observando o modelo lxc-debian
, a rotina que faz o download chama-se download_debian()
e o trabalho é executado por debootstrap
:
debootstrap --verbose --variant=minbase --arch=$arch \
--include=$packages \
"$release" "$cache/partial-$release-$arch" $MIRROR
Olhando para a página de manual, debootstrap
pode usar um diretório local para os arquivos de espelho em vez de um endereço de rede
…MIRROR can be an http:// or https:// URL, a file:/// URL,
or an ssh:/// URL.
Portanto, para usar seus dados locais, monte seu ISO no sistema de arquivos em algum lugar; definir a variável de ambiente MIRROR; invoque lxc-create
.
O arquivo de lançamento assinado não parecia estar no ISO que eu tentei, então eu tive que passar também --no-check-gpg
para debootstrap
, o que significava editar o arquivo de modelo em /usr/share/lxc/templates
para adicionar o argumento:
--- lxc-debian~ 2015-03-04 10:04:12.628619962 +0000
+++ lxc-debian 2015-03-04 10:04:17.420619851 +0000
@@ -232,7 +232,6 @@
# download a mini debian into a cache
echo "Downloading debian minimal ..."
debootstrap --verbose --variant=minbase --arch=$arch \
+ --no-check-gpg \
--include=$packages \
"$release" "$cache/partial-$release-$arch" $MIRROR
if [ $? -ne 0 ]; then
Então, uma vez ajustado:
# mount -o loop debian-7.8.0-amd64-CD-1.iso /mnt
# export MIRROR=file:///mnt
# lxc-create -t debian -n p1 -- -r wheezy
funcionou.