容器优化操作系统映像中的容器存储

Posted

技术标签:

【中文标题】容器优化操作系统映像中的容器存储【英文标题】:Container storage in container optimized OS images 【发布时间】:2018-04-04 22:24:04 【问题描述】:

我正在尝试在 Google Cloud 中构建容器优化虚拟机来托管 Docker 容器。这个 Docker 容器需要存储,但优化后的容器 VM 镜像几乎没有可写存储。然后我创建了一个永久磁盘以附加到 VM 以安装在容器中,但 VMs /etc 也是只读的,因此我无法写入 fstab,或者将磁盘安装在文件系统中的任何位置。这应该如何在专门设计用于托管 Docker 容器的 VM 中完成?

【问题讨论】:

【参考方案1】:

实例中的存储空间与使用的图像无关。 您可以在creation time 或later 上更改引导磁盘大小。这将允许您在实例中拥有更多存储空间。 如果您想使用 Kubernetes Engine,还可以在创建时更改启动磁盘大小。

【讨论】:

那么,不能将容器数据隔离到专用磁盘吗? 有可能,您可以将永久磁盘添加到节点 (VM) 并挂载它们 (cloud.google.com/compute/docs/disks/…)。然后,将它们添加为容器的卷 (docs.docker.com/storage/volumes/…)。您要求在节点启动磁盘中提供更多空间,但现在您想专门安装一个单独的磁盘空间(这是一种不同的情况)。如果您提供您正在使用的产品(GCE 或 GKE),并且在 GCE 的情况下使用 Kubernetes 等编排软件,这也会有所帮助。 “您要求在节点启动磁盘中提供更多空间,但现在您想专门安装一个单独的磁盘空间”在我最初的问题中,我说:“然后我创建了一个永久磁盘以附加到 VM挂载在容器中,但虚拟机 /etc 也是只读的,所以我无法写入 fstab,或者将磁盘挂载到文件系统中的任何位置”所以我原来的问题是一样的:如何挂载单独的磁盘专门用于容器存储到容器优化主机?我只使用 GCE 虚拟机,不需要任何 Kubernetes 编排。 您应该注意,您必须将附加的磁盘挂载到 /mnt/disks 目录。文件系统的几个部分重新挂载为可写:/tmp、/run、/media、/mnt/disks 和 /var/lib/cloud。您可以在此处的官方文档中找到更多详细信息:cloud.google.com/container-optimized-os/docs/concepts/security

以上是关于容器优化操作系统映像中的容器存储的主要内容,如果未能解决你的问题,请参考以下文章

容器操作系统-Container Linux

关于Docker中的Images与Containers

我可以从 Google Cloud Storage 工件存储桶中删除容器映像吗?

sh Docker容器/映像上的批处理操作的基本功能(加载,保存,终止,删除)

等待容器在测试容器中使用 GenericContainer 启动自定义 PostgreSQL 映像

如何在 GCP 中设置与 MongoDB Docker 容器的连接