首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行安装在内存中的卷的整个坞容器。

运行安装在内存中的卷的整个坞容器。
EN

Stack Overflow用户
提问于 2019-04-08 13:24:58
回答 1查看 1.9K关注 0票数 5

我希望在内存中运行整个坞容器,而不将卷映射到主机的硬盘驱动器。

这里描述的TMPFS帮助将卷挂载为“内存卷”,但我正在研究如何启动映射到内存的整个容器。

--volume-driver可能是我必须使用的,但是我找不到支持驱动程序的文档列表(不是overlay2)。

所以,我试过:

代码语言:javascript
复制
docker run -td --name my-container --volume-driver tmpfs container-image
docker run -td --name my-container --volume-driver memfs container-image

但在这两种情况下,对于docker inspect my-container,我注意到:

代码语言:javascript
复制
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/d1d112972c6b531976dd33e27edf213fc578856c3ee96b99c9afe53ad3f71a5e- ... /diff",
            "MergedDir": "/var/lib/docker/overlay2/d1d112972c6b531976dd33e27edf213fc578856c3ee96b99c9afe53ad3f71a5e/merged",
            "UpperDir": "/var/lib/docker/overlay2/d1d112972c6b531976dd33e27edf213fc578856c3ee96b99c9afe53ad3f71a5e/diff",
            "WorkDir": "/var/lib/docker/overlay2/d1d112972c6b531976dd33e27edf213fc578856c3ee96b99c9afe53ad3f71a5e/work"
        },
        "Name": "overlay2"
    }

docker stats还指出,这两种情况都使用默认映射策略。

EN

回答 1

Stack Overflow用户

发布于 2019-04-08 14:47:06

有一个问题,正如已经结束的那样,就是为了做到这一点。下面是评论https://github.com/moby/moby/issues/10490#issuecomment-311892718的链接。

本质上,它配置停靠器以将图像保存在RAM中。它会做你想做的,但是如果你关闭,你就会失去你的图像。

现在,我不知道你为什么要这样做,但我将根据我认为你可能需要的东西来推断:

  • 在容器运行后不需要跟踪:然后,添加将删除将始终创建的文件的--rm标志。这使您的运行保持干净,但可能不完全安全。
  • 出于安全考虑,您不希望必须写入的任何数据被保存在磁盘上:然后,您必须在容器中的某个地方挂载一个tmpfs (https://docs.docker.com/engine/reference/run/#tmpfs-mount-tmpfs-filesystems),并且只在其中写入。请记住,如果使用交换,内容将写入磁盘,并有可能恢复。
  • 您希望快速读取容器中已经存在的数据:那么,我认为最好的选择是,当容器启动时,将需要快速访问的数据复制到安装在容器中的tmpfs中。

我希望我抓住了你的用例,如果没有,请说:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55574555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档