我可以从我自己的自定义操作系统创建 LXC 映像吗?

2023-12-21

我是lxc的新手。我想从现有操作系统创建我自己的 lxc 容器(我自己的 unix 内核在不同架构中编译)。我正在尝试使用“lxc-create”。谁能建议我如何创建自己的容器,是否可以使用这种方法创建一个容器?创建自己的容器后是否需要更改任何配置?

如果 lxc 不适合这个,我可以用任何其他容器引擎来实现它吗?附:我不需要虚拟机或任何虚拟机管理程序来实现相同的目的。


只是为了澄清一下,您是否尝试从自己正在运行的操作系统创建容器映像?如果是这样,我不相信这可以使用lxc-create.

lxc-create 可用于下载各种发行版的公开可用图像。例如,您可以运行以下命令:

 lxc-create -t download -n my-container-name 

下载映像并从该映像创建容器。当您运行此命令时,下载模板将显示可用发行版的列表,您可以从中创建正在运行的容器。有关这方面的更多信息,请参阅here https://linuxcontainers.org/lxc/getting-started/.

根据您自己的规范配置您自己的容器的通常过程是从基本操作系统映像构建满足您的要求的映像。有几种方法可以做到这一点。来自“手动构建图像部分”部分here https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/:

1) 生成容器文件系统。这完全取决于您使用的发行版。对于 Ubuntu 和 Debian,可以使用 debootstrap。

2) 配置分发在容器中正常工作所需的任何内容(如果需要的话)。

3) 制作该容器文件系统的 tarball,可以选择压缩它。

4)根据上述内容编写一个新的metadata.yaml文件。

5) 创建另一个包含该metadata.yaml 文件的tarball。

6) 使用以下命令将这两个 tarball 导入为 LXD 映像:

lxc image import <metadata tarball> <rootfs tarball> --alias some-name

另一种方法是从通用 Linux 映像创建一个正在运行的容器(如前面所述,使用lxc-create命令),然后进入容器的 shell,以便您可以根据需要更改配置,然后将修改后的容器发布为新镜像。例如:

lxc launch ubuntu:14.04 my-container
lxc exec my-container bash
<do whatever change you want>
lxc publish my-container --alias my-new-image

配置完专门制作的映像后,您可以从这些映像运行容器。

关于您关于其他可能性的问题,我建议您研究一下 Docker 容器。如果您以某种方式使用 Google 容器引擎(正如本文中的标签所暗示的那样),那么您将能够利用 Container Registry 来标记和存储不同版本的映像,并且还有大量文档和公共资源在线提供 Docker 镜像。如果您想将其与 GCP 中的虚拟机集成,这里有一些很好的信息here https://cloud.google.com/compute/docs/containers/如果您想了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以从我自己的自定义操作系统创建 LXC 映像吗? 的相关文章

随机推荐