sub*_*rat 3 lxc google-kubernetes-engine lxc-docker lxd container-image
我是 LXC 的新手。我想从现有的操作系统(我自己的以不同架构编译的 unix 内核)创建我自己的 lxc 容器。我正在尝试使用“lxc-create”。任何人都可以建议我如何创建自己的容器,是否可以使用这种方法创建一个容器?创建自己的容器后是否需要更改任何配置?
如果 lxc 不适合这个,我可以用任何其他容器引擎来实现吗?PS 我不需要 vms 或任何管理程序来实现相同的目标。
只是澄清一下,您是否尝试从自己运行的操作系统中为容器创建映像?如果是这样,我不相信这是可能的使用lxc-create.
lxc-create 可用于下载各种发行版的公开可用图像。例如,您可以运行以下命令:
lxc-create -t download -n my-container-name
Run Code Online (Sandbox Code Playgroud)
下载图像并从该图像创建容器。运行此命令时,下载模板将显示可用发行版列表,您可以从中创建一个正在运行的容器。有关这方面的更多信息,请参阅此处。
将您自己的容器配置为您自己的规范的通常过程是从基本操作系统映像构建满足您要求的映像。有几种方法可以做到这一点。从“手动构建的图像分区”部分在这里:
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
Run Code Online (Sandbox Code Playgroud)
另一种方法是从通用 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
Run Code Online (Sandbox Code Playgroud)
一旦您配置了专门制作的镜像,您就可以从这些镜像运行容器。
关于您关于其他可能性的问题,我建议您查看 Docker 容器。如果您以某种方式使用 Google Container Engine(如本文中的标签所示),那么您将能够利用 Container Registry 来标记和存储不同版本的图像,并且还有大量文档和公共Docker 在线可用的图像。如果您想将其与 GCP 中的 VM 集成,如果您想了解更多信息,这里有一些很好的信息。
| 归档时间: |
|
| 查看次数: |
4903 次 |
| 最近记录: |