澄清一下,您是否尝试从您自己正在运行的操作系统中为容器创建映像?如果是这样,我认为使用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 一些很好的信息。