问题标签 [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.

0 投票
1 回答
817 浏览

linux - LXD 容器内的 DNS 解析不起作用

我最近开始尝试使用 LXD 容器并遇到了一个我似乎无法解决的基本障碍。

我无法apt updated在容器内运行

一篇文章建议切换到 nictype macvlan。那也没有帮助。我的货币“默认”配置文件是:

主机:ubuntu 16.04 容器:ubuntu 14.04

0 投票
2 回答
1310 浏览

lxc - 更改 root 的 subuid 和 subgid 信息时无法启动 LXD 容器

LXD 的新手并遇到了一个问题,我正在尝试为容器的 root 用户构建 subuid 和 subgid 映射,以便当 root 写入目录 /megalith 时,它将是主机用户的 UID/GID(1000 :1000) 而不是 165536:65536 的 uid/gid。我正在尝试按照此处列出的说明进行操作:

http://insights.ubuntu.com/2016/12/08/mounting-your-home-directory-in-lxd/

但是当我尝试启动容器时,我收到下面列出的错误。如果我将根 subuid 和 subgid 条目返回到 root:165536:65536,那么一切都开始正常工作,除了当我写入 /megalith 时,UID 和 GID 显然是 165536:65536。

我还需要做些什么来使根 subuid 和 subgid 映射正常工作,这些可能不在文档中,或者我可能会丢失?

0 投票
1 回答
994 浏览

ubuntu - 带有 LXD 的 Ubuntu 16.04 中的自定义桥接器

问题

我在想要使用 Docker 配置文件运行 LXD 的主机上使用两个 NIC。我在接口 0 (enp0s10f0) 和环回上运行 DNSMASQ。我希望 LXD 容器使用单独的 NIC (enp0s10f1)。这时候我不需要容器直接暴露在网络上。所以我在 /etc/network/interfaces 中手动创建了一个桥(lxdbr1),其中 enp0s10f0 作为它的从站。我想使用 ebtables + DNSMASQ 和自定义配置(可能会因不同的容器实例而改变)来过滤来自容器的允许出站流量。由于我的上述要求,我试图不使用它创建的 lxd-bridge 服务和默认网桥 (lxdbr0)。

我现在面临两个问题:

  1. 我将 lxdbr1 附加到默认的 LXD 配置文件。如果我使用默认配置文件和 docker 配置文件启动容器,我确实会在容器中看到 eth0 接口。但是,它没有 IPv4 地址,似乎有一个随机的 IPv6 地址。我相信这是因为这是 LXD 的默认设置。我尝试使用 lxc 设备编辑 lxdbr1 编辑网络配置,但在添加 ipv4.address、ipv4.nat、ipv6.address 和 ipv6.nat 选项并保存文件后,编辑命令指示错误“配置解析错误:未找到”。我用格式化程序验证了我写的 YAML 是正确的。所以不确定这里的问题是什么。
  2. 假设我能够完成上述工作,除此之外我还需要什么吗?关于伪装的 Debian 网络 wiki 表明我还必须设置从接口 enp0s10f1 上的外部网络 IP 到分配给网桥的内部 IP 的默认路由。这部分也让我感到困惑。

还有其他更简单的选择吗?例如,我可以使用 LXD 创建的默认网桥,使其持久化,然后使用我自己的 DNSMASQ 实例(我可能有多个)和我自己的流量规则吗?

背景

我正在为在 Linux 上提供服务或库的团队构建持续交付管道。由于各种原因,我们必须锁定运行构建、签名和发布流程的主机和环境,同时为使用管道的团队提供最大的灵活性,以使用他们认为合适的任何编程语言、框架或工具。例如,假设一个团队想要在版本 A 和 B 上使用 Haskell 和 Rust(无论出于何种原因);我不想从事管理此类声明或为该团队预先安装它们的业务。同时,我想确保他们不使用随机包源或最终发布未签名的包。所以我想出了一个解决方案,它可以在不同阶段(构建、测试、打包、发布、存档)在每个容器启动之前或之后在主机之间完成管道所需的任何工作。工作流程将类似于:

  • 在主机上执行预构建步骤。
  • 在容器中调用用户构建脚本。
  • 在主机上执行构建后步骤。
  • 在主机上执行预测试步骤。
  • 在容器中调用用户测试脚本。
  • 在主机上调用测试后步骤。

等等。

0 投票
1 回答
7896 浏览

lxc - 如何设置通过 LAN 通信的 LXD 容器

我有一组连接到 LAN 的服务器。我能够在机器上安装和使用 LXD 容器,但是对于我的一生,我无法让容器在网络上可见。我试图关注这些网址,但无济于事:

我的服务器设置如下:

  1. eth0 - 连接到 Internet 的硬件 NIC
  2. eth1 - 连接到 LAN 的硬件 NIC

如果我尝试通过 lxdbr0 在 eth1 设备上设置网桥,则容器在 LAN 上不可见。如果我尝试br0手动设置桥接设备,桥接到 eth1 并使用 DHCP,则设备无法启动。

我的 /etc/network/interfaces 如下所示:

是否可以创建在 LAN 上可见并可以连接到 Internet 的容器?

Ubuntu 16.04 上的 LXD v2.7

0 投票
1 回答
620 浏览

ubuntu - LXD:LXC 网络编辑导致错误:未找到

我想要一个可预测的网桥与 LXD 一起使用,这样我就可以在该网桥上运行 squid 作为代理来处理所有流量,并添加 ebtables 规则来过滤流量。

所以我编辑了 /etc/network/interfaces 来添加网桥:

重新启动时,接口正确出现,如下所示

接下来,我将设备 eth0 添加到默认的 LXD 配置文件中,这也正确显示:

检查配置时:

我希望为设备分配一个静态 IP 地址并为 IPv4 使用 NAT,所以我做了这样的事情:

其中 lxdbr1.yml 的内容是:

我不确定这个配置有什么问题。在使用默认配置的网桥时,LXD 本身所做的似乎是正确的。

0 投票
2 回答
1235 浏览

ubuntu - LXD/LXC gid 映射

我在磁盘上有一个目录,该目录的sharegid 为1001. 我想将该目录添加为其中一个 lxc 容器上的设备,并让该组结转。

我尝试过使用raw.idmap 'gid 1001 1001',但如果添加这个,lxc 容器将不会启动。

谢谢

0 投票
2 回答
231 浏览

ubuntu - 如何在 ubuntu 16.04.2 中安装 lxd 2.9?

https://linuxcontainers.org/lxd/news/说 lxd 的最新版本是 2.9.1,截至 2017 年 2 月 16 日。

我刚刚安装了 ubuntu 16.04.2 并做了

我有

如何更新到 2.9.1?

0 投票
3 回答
4752 浏览

ansible - Ansible dnf 模块启用 Fedora Copr 存储库

我想用 Ansible 启用 Fedora Copr 存储库。更具体地说,我想转换此命令:

使用 Ansiblecommand模块,我克服了这个问题,但打破了任务的幂等性(如果再次运行,角色不应进行任何更改)(changed_when: false不是一个选项)。

另外,我试过这个:

enablerepo我在没有任何成功的情况下测试了该选项的许多变体。

是否可以使用dnf Ansible 模块(或其他模块)?

0 投票
3 回答
17189 浏览

lxc - 如何删除默认的 LXD 存储?

我正在设置 LXD 来玩变戏法。我希望存储仅安装在我的 RAID 设备上,因此最好删除默认存储或替换/重定向它。我无法删除默认存储,因为默认配置文件使用它。

如何使用带有 conjure-up 的 RAID 存储并确保它没有使用我的默认存储?

0 投票
2 回答
2475 浏览

docker - 有没有办法在 Docker 中运行 LXD?

有没有办法在 Docker 中运行 LXD?例如。

在使用 ubuntu 16.04 的主机上:

在容器中:

LXD 守护进程工作,但由于 cgroups 错误,我无法启动 LXD 容器。

我也试过: