lxc-create 说容器已存在

lxc-create 说容器已存在

我正在尝试在非标准位置创建容器,但 lxc-create 提示根目录已经存在,但事实上似乎不存在。我做错了什么?

leon@ln00:/media/leon/Archive/lxc$ sudo lxc-ls
saucy-amd64-chromiumos  

leon@ln00:/media/leon/Archive/lxc$ sudo lxc-destroy -n saucy-amd64-chromiumos

leon@ln00:/media/leon/Archive/lxc$ ll
total 8
drwxrwxr-x 2 leon leon 4096 Nov 24 22:03 ./
drwx------ 4 leon leon 4096 Nov 24 21:49 ../

leon@ln00:/media/leon/Archive/lxc$ time sudo lxc-create -n saucy-amd64-chromiumos -t ubuntu -B dir --dir /media/leon/Archive/lxc/ -- -r saucy

lxc-create: No config file specified, using the default config /etc/lxc/default.conf
specified rootfs (/media/leon/Archive/lxc/) already exists.  Bailing.

real    0m0.029s
user    0m0.004s
sys 0m0.008s

leon@ln00:/media/leon/Archive/lxc$ ll
total 8
drwxrwxr-x 2 leon leon 4096 Nov 24 22:03 ./
drwx------ 4 leon leon 4096 Nov 24 21:49 ../

leon@ln00:/media/leon/Archive/lxc$ sudo ls -al /var/cache/lxc/
total 8
drwx------  2 root root 4096 Out 29 16:58 .
drwxr-xr-x 24 root root 4096 Nov 24 21:53 ..

答案1

-B dir --dir 用于指定容器的 rootfs 路径。它应该指向一个不存在的路径,用于放置 rootfs。如果这确实是您想要的,只需销毁目录,LXC 应该就可以了(容器的配置和 fstab 将在 /var/lib/lxc/ 下创建,但 rootfs 将是 /media/leon/Archive/lxc/)。

如果您只是想为容器使用备用位置(而不是标准的 /var/lib/lxc)。为此,请使用 --lxcpath|-P 选项。

sudo lxc-create -n saucy-amd64-chromiumos -t ubuntu -P /media/leon/Archive/lxc/ -- -r saucy

大多数 lxc 命令都接受此参数,因此您还可以执行以下操作:

lxc-ls -P /media/leon/Archive/lxc/

并将其传递给 lxc-start/lxc-stop/...

您也可以通过在 /etc/lxc/lxc.conf 中设置“lxcpath = /media/leon/Archive/lxc/”来使其永久生效(您必须创建此文件,默认情况下它不存在)。

以上所有内容均假设 LXC 的版本较新(1.0 预版本之一)。

相关内容