LXD本地pylxd.Client连接看不到任何容器,而“ lxc list”命令列出了十二个容器

时间:2018-11-22 18:49:57

标签: python lxd

在具有lxd 2.21的ubuntu 16.04机器上,以下代码返回我所有的容器:

from pylxd import Client
client = Client()
client.containers.all()

在具有lxd 3.0.1的ubuntu 18.04计算机上,相同的代码返回一个空列表

在两台计算机上,命令lxc list返回许多容器, 由于某种原因,较新的lxd主机上的客户端连接未“看到”容器。

1 个答案:

答案 0 :(得分:0)

解决方案是设置此环境变量:

export LXD_DIR=/var/lib/lxd

默认情况下,api使用套接字/var/snap/lxd/common/lxd/unix.socket,在我的安装中,要使用的正确套接字为/var/lib/lxd/unix.socket

from pylxd import Client
os.environ["LXD_DIR"] = "/var/lib/lxd"
client = Client()
client.containers.all()