【问题标题】:can i create a LXC image from my own custom OS?我可以从我自己的自定义操作系统创建 LXC 映像吗?
【发布时间】:2018-07-29 00:08:44
【问题描述】:

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

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

【问题讨论】:

    标签: google-kubernetes-engine lxc lxd lxc-docker container-image


    【解决方案1】:

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

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

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

    下载图像并从该图像创建容器。当您运行此命令时,下载模板将显示可用分发列表,您将能够从中创建正在运行的容器。有关这方面的更多信息,请参阅here

    将您自己的容器配置为您自己的规格的通常过程是根据基本操作系统映像构建一个符合您要求的映像。有几种方法可以做到这一点。来自“手动构建图像部分”部分here

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

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

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

    4) 在上面描述的基础上写一个新的 metadata.yaml 文件。

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

    6) 将这两个 tarball 导入为 LXD 映像:

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

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

    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 Engine(正如本文中的标签所建议的那样),那么您将能够利用 Container Registry 来标记和存储图像的不同版本,并且还有大量文档和公开可用于 Docker 在线的图像。如果您想将它与 GCP 中的 VM 集成,如果您想了解更多信息,请参阅 here 一些很好的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-26
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      相关资源
      最近更新 更多