问题标签 [lxd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - LXD 本地 pylxd.Client 连接看不到容器,而“lxc list”命令列出了十几个
在具有 lxd 2.21 的 ubuntu 16.04 机器上,以下代码返回我的所有容器:
在具有 lxd 3.0.1 的 ubuntu 18.04 机器上,相同的代码返回一个空列表
在两台机器上,该命令lxc list
返回许多容器,由于某种原因,较新的 lxd 主机上的客户端连接没有“看到”容器。
lxd - 错误:获取 http://unix.socket/1.0:拨打 unix /var/snap/lxd/common/lxd/unix.socket:连接:权限被拒绝
连接到 LXD 时出现以下错误:
Error: Get http://unix.socket/1.0: dial unix /var/snap/lxd/common/lxd/unix.socket: connect: permission denied
lxd - LXD:“默认”存储池不存在
我在尝试编辑默认 lxc 配置文件时收到以下错误:
“默认”存储池不存在
c# - 使用 LXD REST API,ClientWebSocket 在 .Net Core 上抛出“AuthenticationException”,但在 .Net Framework 上,它运行良好
我正在将LXD.NET移植到 .Net Standard 2.0。通过 HTTPS 的 REST API 与 .Net Core 和 .Net Framework 配合得很好。
但是使用 WebSocket API(例如1.0/containers/<name>/exec),ClientWebSocket仅在 .Net Core 上引发 Authentication Exception。(在 .Net Framework 上,它不会抛出并且运行良好。)
LXD 在 Ubuntu 18.04 上运行。我在两个客户端上进行了测试,一个在 Windows 10 上运行,另一个在 Linux 上运行(运行 LXD 的同一台 linux 计算机)。
所有源代码都在这里(https://github.com/GnicoJP/lxd-dotnet-websocket-test)。
重现步骤(服务器端)
LXD 设置
我将 LXD 配置为在网络上可用。
我启动了一个图像。
SSL 密钥/证书生成
将 client.p12 带到客户端 PC。
我注册了 SSL 证书
源代码
入口点在这里。我正在调用 exec API。(wait-for-websocket 为真)
解析 Exec API 的结果是Here。我认为 WebSocket 的 URI 没有错。
打开 ClientWebSocket 就在这里。在 .Net Framework 上,WebSocket 在有/没有证书的情况下都能很好地工作。
抛出的异常
我是 StackOverflow 的初学者。如果我的问题或我的英语不好,请告诉我。
android - 将在 LXC 中运行的远程 Android 应用程序显示到智能手机
我目前正在做一个项目,我希望能够允许用户在不下载的情况下访问 Android 应用程序 。
当前使用 LXC 容器的设置
我通过在服务器(远程)上运行安装了Android操作系统的LXC 容器来做到这一点。
期望的目标
我无法弄清楚如何将这些应用程序(在远程服务器上运行,即 LXC 容器)远程显示到客户端应用程序(在智能手机上运行)。我主要关心的是:
- 最小化延迟和
- 允许普通应用程序以及视频和游戏应用程序工作
我做了什么(研究)
我研究过VNC、Xpra等,但不知道如何使用它来实现我的目标。
任何帮助将非常感激。
chown - 无法访问与主机共享的 lxd 容器中的文件
我有一个lxd
容器,名为master
. 我发现它的根可以在以下位置找到:
所以,我把我的文件夹转移tars
到了这个地址。注意tars
有两个文件。
现在,我知道用户 id 和组 idtars
是root
. 另一方面,容器中每个其他文件的用户 ID 和组 ID 都是166536
.
因此,对于文件夹和文件,我sudo chown 166536 <file/folder name>
更改了用户 ID,并sudo chown :166536 <file/folder name>
更改了组 ID。
有一次,我这样做了,我希望tars
可以从 container 访问master
,但这并没有发生。谁能告诉我我错过了什么?
这是我在reddit上找到的一种方法:
是的,这就是答案,使用非特权容器运行您无法看到 LXD 主机上的权限,因此它显示为“Nobody:Nobody”。在某种程度上是愚蠢的,因为您可以将文件夹安装到容器中并查看其中的文件..
供将来参考,对于遇到此问题的任何人,这是我所做的步骤(它可能不是正确的,但它有效)
很遗憾我找不到将用户映射到非特权容器内的方法。如果有人知道让我知道。
基本上,为主机和容器创建一个通用用户。有什么比这种方法更好的吗?
zfs - 为什么 zfs 中的 tar 提取速度太慢?
我正在使用一个lxd
容器,并尝试将hadoop
安装 tarball 从主机复制到容器中。
最初,容器使用 ZFS 作为文件系统。我所做的下一步是提取 tarball。那花了很多时间。在我的笔记本电脑上正常提取只需要大约 5-7 秒,而在容器内,这个过程非常缓慢,以至于我不得不手动中断它。
怀疑 ZFS 可能是问题,我创建了一个新容器,dir
作为文件系统,瞧,提取在 5 秒内完成!
ZFS 和 之间有什么问题tar
?
同时,我读到 ZFS 在达到它的配额时变慢了。
具体来说,他们说:
我指定了 4 GB 的大小,并且确信当前大小甚至没有达到 500 MB。所以,在我看来,这应该不是问题。
docker - 在 lxc 中运行通过 Docker 创建的映像
我想运行一个我已经在 docker hub 上创建并上传的图像。是否可以在 lxc/lxd 上运行该图像?基本上我想在docker和lxc之间进行性能比较。
我已经安装了 skopeo、umoci、go-md2man 和 jq。
现在,当我尝试运行命令 lxc-create c1 -t oci – --url docker://awaisaz/test:part2 时,它会给出信任策略错误。/etc/containers/policy.json 不是这样的文件或目录
谁能建议我一个解决方案或替代方法来做到这一点?
ansible - Ansible 检查具有名称的 lxd 容器是否已存在
如果容器已经存在,是否可以签入 ansible?
我尝试了以下方法:
但是check_container_absent
在我创建容器后输出没有改变。
如果存在具有容器名称的文件夹,另一种解决方案也是检查容器的存储位置。
有比检查文件夹更好的解决方案吗?
lxd - LXD 的 snap 包版本在哪里存储容器?
在本教程中,作者给出了容器中根目录的以下位置c1
:
如果我使用 lxd 安装,等效目录是什么snap install lxd
?